当前位置: 首页 > news >正文

潍坊网站建设选聚搜网络好重庆企业网

潍坊网站建设选聚搜网络好,重庆企业网,将网站制作成app,珠海建网站设计浮点运算是不可结合的(由于表示的精度有限)。比如(3.141e20)-1e20是0.0而3.14(1e20-1e20)是3.14。整数虽然只能编码一个较小的取值范围,但是是准确的;浮点数虽然能编码更大的范围,但是是近似的。 二进制转十六进制转换…

浮点运算是不可结合的(由于表示的精度有限)。比如(3.14+1e20)-1e20是0.0而3.14+(1e20-1e20)是3.14。整数虽然只能编码一个较小的取值范围,但是是准确的;浮点数虽然能编码更大的范围,但是是近似的。

二进制转十六进制转换技巧1

如果x = 2^n,且n = i + 4j,i∈[0, 3],那么可以将x写成 i’后跟j个0。其中i=0, i’=1; i=1, i’= 2

i = 2, i’=4; i = 3, i’=8 (记忆:0001,0010,0100,1000,i表示后面0的个数)

举例:

x = 2048 = 2^11,此时n = 11 = 3 + 4 * 2,则i=3, j=2,那么写成16进制为0x800

总线:负责以定长字节块的形式传递信息。定长字节块就是字word,其字节数就是字长word size。

对于一个字长为w位的机器而言,虚拟地址的范围是0~2^w - 1,程序最多访问2^w个字节。因此,字长决定了虚拟地址空间的最大大小。

32位字长=虚拟地址空间4GB

64位机器可以运行32位机器编译的程序,这是一种向后兼容

linux> gcc -m32 xx.c

linux> gcc -m64 xx.c

前者可以在32/64位机器上运行,后者则只能在64位运行。

大端和小端是一个对象所有字节的存储方式。假设一个变量x是int型,位于地址0x100处,十六进制值为0x01234567,那么地址范围0x100~0x103的字节顺序依赖于机器。一般选择了os,字节顺序救固定了。如果使用ASCII码,字符串在任何机器都是一样的结果(不看大小端),所以str比二进制数据更具有平台独立性。

大端big endian

0x1000x1010x1020x103
……01234567……

小端little endian

0x1000x1010x1020x103
……67452301……

ASCII码适合英语文档,增加其他字母之后有了Unicode(使用4个字节编码)。UTF-8包含ASCII,每个字符用1个字节编码。Java使用Unicode表示字符串,C也有支持Unicode的库。

位运算

^ XOR,exclusive-OR,异或

布尔&对|,|对&都有分配律:

a & (b | c) = (a & b) | (a & c)

a | (b & c) = (a | b) & (a | c)

加法逆元additive inverse : x + (-x) = 0,那么-x就是x的加法逆元

a ^ a = 0 → (a ^ b) ^ a = b

C语言逻辑运算符|| && !认为非0参数都是True(1),0是False(0)。同时,如果第一个参数就能确定表达式的结果,就不会对第二个参数求值。

x>>k 右移包括两种:逻辑右移和算术右移。前者左端要补k个0,后者是左端补k个最高有效位的值。比如x = 0110 0011,x >> 4(算术右移)= 0000 0110;x = 1001 0101 → 1111 1001

对C来说几乎所有的编译器、机器都会对有符号数使用算术右移,对于无符号数,右移必须是逻辑右移。Java则规定>>是算术右移,>>>是逻辑右移。

位移的优先级低于+


整数表示

机器规定的各种数据类型的取值范围不是对称的,负数比正数的范围大1。但是C语言的规定某些是对称的(char short int)。而且C可以用2个字节实现int。C和C++支持有符号(默认)和无符号数,但Java只支持有符号数。

对向量 x ⃗ = [ x w − 1 , x w − 2 , . . . , x 0 ] , B 2 T w ( x ⃗ ) = − x w − 1 2 w − 1 + ∑ i = 0 w − 2 x i 2 i 对向量\vec{x}=[x_{w-1}, x_{w-2}, ..., x_0], B2T_w(\vec{x})=-x_{w-1}2^{w-1}+\sum_{i=0}^{w-2}x_i2^i 对向量x =[xw1,xw2,...,x0],B2Tw(x )=xw12w1+i=0w2xi2i

补码: two’s-complement。最高有效位称为符号位,解释为负权negative weight(-2^(w-1)),也就是说,这个最高位是1表示值为负。举例:

B2T4([0101]) = 5, B2T4([1101]) = -8 + 4 + 1 = -3

因此,w位有符号数,最大值应该是2(w-1)-1,最小值是-2(w-1)。举例:对于4位有符号数,最大值应该是0111(符号位是0,剩余都是1),也就是7;最小值应该是(符号位为1,剩余都是0,这样不会有加值),也就是-8。这就是机器规定的有符号数的取值范围是不对称的原因。

字长w
U是无符号816
UMax0xFF 2550xFFFF 65535
TMin0x80 -1280x8000 -32768
TMax0x7F 1270x7FFF 32767
-10xFF0xFFFF
00x000x0000

注意:

1)-1和UMax是一样的,都是全1串

2)UMax = 2TMax + 1

反码:One’s Complement,除了最高有效位的权是 − ( 2 w − 1 − 1 ) -(2^{w-1}-1) (2w11)外,与补码一样。反码的来源是,用[111…1]-x来计算-x的反码表示,其实也就是直接按位反转。例如:

0101 = 5,w=4,则-5 = 1111 - 0101 =1010 = -1x(2^3-1)+2=-5

B 2 O w ( x ⃗ ) = − x w − 1 ( 2 w − 1 − 1 ) + ∑ i = 0 w − 2 x i 2 i B2O_w(\vec{x})=-x_{w-1}(2^{w-1}-1)+\sum_{i=0}^{w-2}x_i2^i B2Ow(x )=xw1(2w11)+i=0w2xi2i

原码:Sign-Magnitude,最高有效位是符号位,不参与计算,用剩下的位计算值

B 2 S w ( x ⃗ ) = ( − 1 ) x w − 1 ⋅ ( ∑ i = 0 w − 2 x i 2 i ) B2S_w(\vec{x})=(-1)^{x_{w-1}}\cdot(\sum_{i=0}^{w-2}x_i2^i) B2Sw(x )=(1)xw1(i=0w2xi2i)

需要注意的是,几乎所有现代机器都使用补码。

而且这两种表示方法中,[000…0]都是+0,但反码中,[111…1]表示为-0;在源码中,[10…0]表示为-0,所以对于0都是由两种表示方式的。

C语言实现数据类型的强制转换时,是改变了解释位的方式。

补码转无符号数

T 2 U w ( x ) = { x + 2 w , x < 0 x , x ≥ 0 } T2U_w(x)=\left\{\begin{aligned}x+2^w, x<0\\x, x\geq0\end{aligned}\right\} T2Uw(x)={x+2w,x<0x,x0},其中w是字长

http://www.yayakq.cn/news/468678/

相关文章:

  • 聊城网站营销电影制作公司
  • 扬州做网站的公司哪个好如何开发高端市场
  • 网站建设大师erp系统入门教程
  • 一个成功的网站必须具备手机怎么上wap网站
  • 怀远县建设局门户网站简洁的中文wordpress模板
  • 网站建设毕业设计中期报告网站如何清除百度收录
  • 关于网站建设的故事广州seo网站推广公司
  • 网站怎么推广软文百度权重域名
  • 怎么查询网站建设时间自己制作的网站上传到服务器后怎么原来的网页没有变
  • dede 网站地图 插件怎么搜索到自己网站
  • 编程应用seo网站优化平台
  • 哈尔滨公告最新消息短视频seo优化排名
  • 提供邢台网站优化做杂志的网站
  • 什么颜色做网站显的大气东丰网站建设
  • 网站开发年度总结工作云空间可以做网站
  • 哪些网站布局设计做的比较好的wordpress重写插件
  • 孝感网站建设公司wordpress会员浏览
  • 做网站要多少的服务器自助单页网站
  • tp5 商城网站开发常见的网站开发语言
  • 网站开发的有关公司上海佐兹设计公司官网
  • 运动网站源码销售方案怎么做
  • 如何建立一个大型的网站企业网站建设属于什么费用
  • hanchengkeji杭州网站建设人力资源培训机构
  • 广东专业网站优化制作公司php cms网站
  • 长宁苏州网站建设聊城网站建设 推广聊城博达
  • 设计网站建设常州新网域名证书下载
  • 带分销系统的微商城seo怎么发布外链
  • 简约个人网站wordpress目录链接外链
  • 西安网站网页设计英文网站模板改成中文
  • 响应式学校网站凡科网产品矩阵