【计算机组成原理】数据的表示和运算

定点数表示

定点表示:约定机器中所有数据的小数点位置固定不变,由于约定在固定的位置,小数点就不再用“.”表示,通常放在数值位最后面或最前面,这样数据表示成纯整数或纯小数

1、无符号数的表示

用全部二进制代码表示数字,没有符号位,8位二进制无符号数范围(00000000~11111111)0~2的8次方-1(0-255) 共256个数

2、有符号数的表示

定点数x=x0x1x2x3...xn在定点机中表示如下(x0:符号位 0代表正号 1代表负号)

纯小数的小数点位置在符号位之后

  • 纯小数的表示范围为:

(X0X1X2X3X4...Xn数值位各位均为0时绝对性最小,数值位各位均为1时绝对值最大)0<=|x|<=1-2的负n次方。  0.000000001是2的负9次方     0.11111111=1-0.00000001

数值位全为1是绝对值对大

  • 纯整数的表示范围:

(X0X1X2X3....Xn数值位各位均为0时绝对值最小,数值位各位均为1时绝对值最大)-(2的n次方-1)<x<2的n次方-1

原码表示法

原码就是数值的真值(绝对值)前面加上一个符号位(正数加0   负数加1)

扫描二维码关注公众号,回复: 7400249 查看本文章

定点小数的原码表示:

定点小数的原码形式为X0X1...Xn,则原码表示的定义为:(正数原码是本身 负数为1+负数的绝对值)

原码中有+0和-0之分

【+0】原=0.000

【-0】原=1.000

一个n+1位(包括数值位和符号位)定点小数原码的表示范围

-0.111111~+0.111111

定点正数的原码形式为X0X1X2...Xn则原码表示的定义为

n+1为定点整数原码的表示范围为

1)x和-x的原码转换

将【x】原的符号位(左端第一位)取反,即可得到【-x】原

2)原码中的0表示不唯一

3)若原码字长为n总共有2的n个编码,但对应的真值只有2的n次方-1个

因为[0]原占用了两个编码,因此原码表示的范围较小

4)若原码字长为n,总共有2的n方个编码,但对应的真值只有2的n次方-1个

补码表示法

简化加减运算

对于一个确定的模而已,当需要减去一个数x时,可以用加上x对应的负数的补码

补码的性质:

1)+0和-0的补码表示一致  0的补码只有一种

2)-1补码=2+(-1)=10.000+(-1.000)=1.000        -1的补码和-0的原码一样

3)n+1位纯整数补码表示中【-2的n次方】补码=100000000    和-0的原码一样 

4)补码的表示范围比原码表示范围大

3、补码和原码的关系 原变补符号位不变

4、x的补码和-x的补码的关系   正负补符号位在内

5、补码的算术移位规则

补码左移:符号位不变,数值部分左移,最低位移除的空位填0

补码右移:符号位不变,数值部分右移,最高位移出的位填符号位

6、负数补码形式上大于正数的补码

7、补码的位扩展

例如将字节(8位)表示的补码扩展位16位。

定点小数:最低位扩0

定点整数:在最高位用符号位扩展

8、常用的求补码的方法(与定义求补码比较)

反码表示法

二进制的各位0变1 1变0

+0和-0的反码表示不同   

移码表示法

补码很难直接判断大小

(补码是2的n+1次方  移码是2的n次方)

补码和移码的关系是符号位相反  数值位相同

猜你喜欢

转载自www.cnblogs.com/dream-to-pku/p/11613994.html