定点数的表示_第1页
定点数的表示_第2页
定点数的表示_第3页
定点数的表示_第4页
定点数的表示_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1 定点数的表示编辑本段1.1 无符号数的表示指整个机器字长的全部二进制位均表示数值位,相当于数的绝对值。若机器字长为n+1位,则数值表示为: X=X0X1X2.Xn 其中Xi=0,1, 0<=i<=n 即X0*2n + X1*2(n-1) + X2*2(n-2) + . + Xn-1*2 + Xn 数值范围是 0X2(n+1) - 1 例如:1111表示15。 编辑本段1.2 带符号数的表示最高位被用来表示符号位,而不再表示数值位。 例如:1111 是 -7 编辑本段(1) 定点整数小数点位固定在最后一位之后称为定点整数。若机器字长为n+1位,数值表示为: X=X0X1X2.Xn

2、,其中Xi=0,1,0in 即(-1)X0 * (X1*2(n-1) + X2*2(n-2) + . + Xn-1*2 + Xn) 数值范围是 -(2n-1)X2n-1 例如:1111表示-7。 编辑本段(2) 定点小数小数点固定在最高位之后称为定点小数。若机器字长为n+1位,数值表示为: X=X0.X1X2.Xn,其中Xi=0,1,0in (这里X0不表示数字,只表示符号,若X0=0,则代表X=0.X1X2.Xn,X0=1,则代表-0.X1X2.Xn)。 即 (-1)X0 * (X1*2(-1) + X2*2(-2) + . + Xn-1*2(-n+1) + Xn*2(-n) 数值范围是 -

3、(1-2(-n)X1-2(-n) 例如:1111表示-0.875 (定点小数也被用在浮点数的尾数(Mantissa)部分) 编辑本段(3) 原码表示原码是用机器数的最高一位代表符号,以下给位给出数值绝对值的表示方法。其定义为: 整数: X原=X (0 x<2n) X原=2n-X (-2n<X0) 小数: X原=X (0X<1) X原=1-X (-1<X0) 这里X是数的实际值(真值),X原为原码表示的机器数。 例如:真值X=+1001,X原=01001;真值X=-1001,X原=10000-(-1001)=11001;真值X=-0.1001,X原=1-(-0.1001)

4、=1.1001。 原码的性质: 1. 符号位+数的绝对值。 2. 0有两个编码。 3. 加减运算规则复杂,乘除运算规则简单。 4. 表示简单,易于和真值之间进行转换。 原码的运算: 加法: 先判断符号位,若相同,绝对值相加,结果符号位不变;若不同,绝对值大的数减去绝对值小的数,符号位和绝对值大的数相同。 X原=00010,Y原=01010,X+Y=00000+1010+0010=01100;X原=10010,Y原=01010,X+Y=00000+1010-10=01000。 减法: 将减数符号取反,然后将被减数和符号取反的减数相加。 X原=10010,Y原=01010,X-Y=10010+11

5、010=10000+0010+1010=11100。 乘法(原码一位乘): 是模拟竖式手算的方法。引入一个值为部分积(初值为0)。符号位是被乘数和乘数符号位的异或值。之后检视乘数(符号位以外)从低向高的每一位,若为1,部分积(对齐最高位)加被乘数(符号位以外),并右移一位;若为0,部分积加0,右移一位。 例如:X原=11101,Y原=01011。X*Y:符号位S=10=1 则X*Y=110001111。 除法(交替加减法):符号位为被除数和除数符号位异或获得。之后被除数减除数(补码表示),当余数为正时,商“1”,余数左移一位减除数;当余数为负时,商“0”,余数左移一位,加除数。 例如:X原 =

6、 0.1001,Y补= 0.1011,X/Y:    除法余数r00,商0 商0,r和q左移一位 加y 余数r10,商1 商1,r和q左移一位 减y 余数r20,商1 商1,r和q左移一位 减y 余数r30,商0 商0,r和q左移一位 加y 余数r40,商1 X/Y 的商 Q原 = 0.1101,余数R原 = 0.0001。 编辑本段(4) 补码表示补码定义为: 整数: X补=X (0X<2n) x补=2(n+1)+X (-2n<X0 mod 2(n+1)(意味相对与2(n+1)做补) 小数: X补=X (0X<1) x补=2+X (-1<X0 mo

7、d 2(意味相对与2做补) 例如:真值X=+1001,X补=01001;真值X=-1001,X补=100000+(-1001)=100000-1001=10111;真值X=-0.1001,X补=2+(-0.1001)=10-0.1001=1.0111。 补码的性质: 1. 机器数和真值的关系为: X补=2*符号位+X 2. X补和真值的关系:X=X补 - 2*X0=X0.X1X2.Xn - 2*X0=-X0 + 0.X1X2.Xn 3. 0有唯一的编码。 4. 两数补码加法,把符号位和数值位等同处理,结果的符号位与数值位都正确。 5. 补码数的算数移位 把X补的符号位和数值位一起右移一位并保持

8、原符号位的值不变,可用来实现除法功能(除以2)。 变形补码,又称模4补码,把普通补码由模2改为模4,其中双符号位00代表正,11代表负,01上溢,10下溢。 编辑本段(5) 反码表示反码是用机器数的最高位代表符号,数值位是对负数各位取反的表示方法,定义为: 整数: X反=X (0X<2n) X反=(2(n+1)-1)+X (-2n<X0 mod (2(n+1)-1) 小数: X反=X (0X<1) X反=(2-2(-n)+X (-1<X0 mod (2-2(-n) 例如:真值X=+1001,X反=01001;真值X=-1001,X反=10110;真值X=-0.1001,

9、X反=1.0110。 反码的性质: 0有2个编码。 现在计算机中,较少使用反码。 编辑本段(6) 移码移码定位为: X移=2n+X (-2(-n)X<2n) 当真值用补码表示时,由于符号位和数值部分一起编码,与习惯上的表示法不同,因此人们很难从补码的形式上直接判断其真值的大小。 十进制数X=31,对应的二进制数为+11111,则X补=011111;十进制数X=-31,对应的二进制数为-11111,则X补=100001,看上去好像100001>011111,其实正好相反。如果我们对每个真值加上一个2n,X=11111加上25可得11111+100000=111111;X=-11111加上25可得-11111+100000=000001,这样就可以直接通过二进制代码比较大小。 移码的性质: 1. 最高位为符号位。 2. 0有唯一编码。 3. 保持了数据原有的大小顺序。 4. 移码只用于浮点数的阶码部分,故只用于表示整数。 编辑本段定点数与浮点数的比较数值的表示范围 :浮点表示法所能表示的数值范围将远远大于定点表示法 。 精度 :对于字长相同的定点数与浮点数来说

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论