28
§2.2 机器数的编码表示
例2:写出机器字长8位,反码表示时所对应的 十进制整数和小数的表示范围。
反码表示:同原码表示(一一对应)
整数范围:-127≤x ≤ +127
小数范围:-(1-2-7 ) ≤ x ≤ 1 -2-7
29
1.三种机器数的比较 1)对于正数它们都等于真值本身,但对于负数各有不同 的表示。 2)最高位都表示符号位,补码的符号位可作为数值位的 特殊部分同数值位—起参加运算;而原码和反码的符号位不 允许和数值位同等看待,必须分开进行处理。 3)对于值0,原码和反码各有正负2种不同的表示形式, 只有补码有惟一的表示形式。 4)原码、反码表示的正、负数范围是对称的,而补码表 示的范围要宽,能多表示一个最负的数(绝对值最大的负 数)。
30
§2.2 机器数的编码表示
原、反、补码表示举例: 求下列各数的原、反、补码(设机器字长5位)
大 x=+1101
[x]原=0,1101 [x]反=0,1101 [x]补=0,1101
X=+0.1001 [x]原=0.1001 [x]反=0.1001 [x]补=0.1001 X=-0.0101 [x]原=1.0101 [x]反=1.1010 [x]补=1.1011
真值 原 码 反 码 补码 移码
+0
-0
00000000 00000000 00000000 10000000
10000000 11111111 00000000 10000000
+(27-1) 01111111 01111111 01111111 11111111
-1 10000001 11111110 11111111 01111111