第二章
1.(1)
(2)
(3)-127
-127 = -7F = -1111111
[-127]原 = 11111111
[-127]补 = 10000001
[-127]反 = 10000000
[-127]移 = 00000001
(4)[-1]原 = 1000 0000
[-1]补 = 1000 0000
[-1]反 = 1111 1111
[-1]移 = 0000 0000
(5)-1 = -00000001
[-1]原 = 1000 0001
[-1]补 = 1111 1111
[-1]反 = 1111 1110
[-1]移 = 0111 1111
2.[x]补 = a0. a1a2…a6
解法一、
(1) 若a0 = 0, 则x > 0, 也满足x > -0.5
此时a1→a6可任意
(2) 若a0 = 1, 则x <= 0, 要满足x > -0.5, 需a1 = 1
即a0 = 1, a1 = 1, a2→a6有一个不为0
解法二、
-0.5 = -0.1(2) = -0.100000 = 1, 100000
(1) 若x >= 0, 则a0 = 0, a1→a6任意即可
[x]补 = x = a0. a1a2…a6
(2) 若x < 0, 则x > -0.5
只需-x < 0.5, -x > 0
[x]补 = -x, [0.5]补 = 01000000
即[-x]补 < 01000000
即a0a1 = 11, a2→a6不全为0或至少有一个为1(但不是“其余取0”)
3.字长32位浮点数,阶码10位,用移码表示,尾数22位,用补码表示,基为2
(1) 最大的数的二进制表示
E = 111111111
Ms = 0, M = 11…1(全1)
表示为: 11…1 011…1
10个 21个
即:
(2) 最小的二进制数
E = 111111111
Ms = 1, M = 00…0(全0)(注意:用10….0来表示尾数-1)
表示为: 11…1 100…0
10个 21个
即:
(3) 规格化范围
正最大 E = 11…1, M = 11…1, Ms = 0
10个 21个
即:
正最小 E = 00…0, M = 100…0, Ms = 0
10个 20个
即:
负最大 E = 00…0, M = 011…1, Ms = 1
10个 20个
(最接近0的负数)即:
负最小 E = 11…1, M = 00…0, Ms =1
10个 21个
即:
规格化所表示的范围用集合表示为:
[ , ] [ , ]
(4) 最接近于0的正规格化数、负规格化数(由上题可得出)
正规格化数 E = 00…0, M = 100…0, Ms = 0
10个 20个
负规格化数 E = 00…0, M = 011…1, Ms = 1
10个 20个
4.假设浮点数格式如下:
(1)
阶补码: 1 11
尾数补码: 0 1101 1000
机器数: 1110 1101 1000
(2)
阶补码: 1 11
尾数补码: 1 0010 1000
机器数: 1110 0010 1000
5.(1)x = 0.11011, y = 0.00011
x+y = 0.11110
无溢出
(2) x = 0.11011, y = -0.10101
x+y = 0.00110
无溢出
(3)x = -0.10110
y = -0.00001
x+y = -0.10111
无溢出
6.(1)x = 0.11011
y = -0.11111
溢出
(2)x = 0.10111
y = 0.11011
x-y = -0.00100
无溢出
(3)x = 0.11011
y = -0.10011
溢出
7.(1)原码阵列
x = 0.11011, y = -0.11111
符号位: x0⊕y0 = 0⊕1 = 1
[x]原 = 11011, [y]原 = 11111
[x*y]原 = 1, 11 0100 0101
直接补码阵列
[x]补 = (0)11011, [y]补 = (1)00001
[x*y]补 = 1,00101,11011(直接补码阵列不要求)
带求补器的补码阵列
[x]补 = 0 11011, [y]补 = 1 00001
乘积符号位单独运算0⊕1=1
尾数部分算前求补输出│X│=11011,│y│=11111
X×Y=-0.1101000101
(2) 原码阵列
x = -0.11111, y = -0.11011
符号位: x0⊕y0 = 1⊕1 = 0
[x]补 = 11111, [y]补 = 11011
[x*y]补 = 0,11010,00101
直接补码阵列
[x]补 = (1)00001, [y]补 = (1)00101