计算机组成原理 第五版 习题答案
[x]补 = x = a0. a1a2…a6
(2) 若 x < 0, 则 x > -0.5
只需-x < 0.5, -x > 0
[x]补 = -x, [0.5]补 = 01000000 即[-x]补 < 01000000
a0 * a1 * a2 ?a6 ??1 ??01000000
a0 * a1 * a2 ?a6 ??00111111
a0 a1a2 ?a6 ??11000000
即 a0a1 = 11, a2→a6 不全为 0 或至少有一个为 1(但不是“其余取 0”)3
.字长 32 位浮点数,阶码 8 位,用移码表示,尾数 23 位,用补码表示,基为 2
Es E1→E8 Ms M21 M0 (1) 最大的数的二进制表示 E = 11111111
Ms = 0, M = 11…1(全 1) 1 11111111 01111111111111111111111
(2) 最小的二进制数
E = 11111111
Ms = 1, M = 00…0(全 0)
1 11111111 1000000000000000000000
(3) 规格化范围
正最大 E = 11…1, M = 11…1, Ms = 0
8 个 22 个
即: 22 7
?1 ??(1??2?22 )
正最小 E = 00…0, M = 100…0, Ms = 0 8 个 21 个
即: 2?2 7 ??2?1
负最大 E = 00…0, M = 011…1, Ms = 1
8 个 21 个
(最接近 0 的负数)即: ?2?2 ??7 (2 ?1 ??2 ?22
) 负最小 E = 11…1, M = 00…0, Ms =1
8 个 22 个
即: 22 7
?1 ??(?1) 规格化所表示的范围用集合表示为:
?27 1 2 7
1 [ 2
2 ?
?
? , 22 ?2 ????(1? ) ] ??[ 2 2 7
?1 ??(?1) , ?2 ?2
7
2?
??(2?1 ??2?22 ) ]
4
计算机组成原理 第五版 习题答案
4.在 IEEE754 标准中,一个规格化的 32 位浮点数 x 的真值表示为:
s
X =
(?1)
×(1.M)× 2E ?127
(1)27/64=0.011011=1.1011×
2?2
E= -2+127 = 125= 0111 1101 S= 0 M= 1011 0000 0000 0000 0000 000
最后表示为:0 01111101 10110000000000000000000 (2)-27/64=-0.011011=1.1011× 2?2
E= -2+127 = 125= 0111 1101 S= 1 M= 1011 0000 0000 0000 0000 000
最后表示为:1 01111101 10110000000000000000000 5.(1)用变形补码进行计算: [x]补
=00 11011 [y]补=00 00011
[x]补 = 00 11011 [y]补 = + 00 00011
[x+y]补=
00 11110
结果没有溢出,x+y=11110
(2) [x]补=00 11011 [y]补=11 01011 [x]补 = 00 11011 [y]补 = + 11 01011 [x+y]补= 00 00110 结果没有溢出,x+y=00110 (3)[x]补=11 01010 [y]补=11 111111 [x]补 = 00 01010 [y]补 = + 00 11111 [x+y]补= 11 01001
结果没有溢出,x+y=?10111
6.[x-y]补=[x]补+[-y]补
(1)[x]补=00 11011 [-y]补=00 11111
[x]补 = 00 11011 [-y]补 = + 00 11111 [x-y]补= 01 11010 结果有正溢出,x?y=11010
(2)[x]补=00 10111 [-y]补=11 00101
[x]补 = 00 10111 [-y]补 = + 11 00101 [x-y]补= 11 11100 结果没有溢出,x?y=?00100
5
计算机组成原理 第五版 习题答案
(3)[x]补=00 11011
[-y]补=00 10011
[x]补 = 00 11011 [-y]补 = + 00 10011 [x-y]补= 01 01110 结果有正溢出,x?y=10010
7.(1) 用原码阵列乘法器:
[x]原=0 11011 [y]原=1 11111
因符号位单独考虑,|x|=11011 |y|=11111
1 1 0 1 1 ×) 1 1 1 1 1
——————————————————————————
1 1 0 1 1
1 1 0
1 1
1 1 0
1 1
1 1 0
1 1
1 1 0
1 1
1 1 0 1
0 0 0
1
0 1
[x×y]原=1 1101000101 用补码阵列乘法器:
[x]补=0 11011 [y]补=1 00001 乘积符号位为:1
|x|=11011 |y|=11111
1 1 0 1 1 ×) 1
1 1 1 1
——————————————————————————
1 1 0 1 1
1 1 0
1 1
1 1 0
1 1
1 1 0 1 1
6
计算机组成原理 第五版 习题答案
1 1 0
1 1
1 1 0 1 0 0 0
1
0 1
[x×y]补=1 0010111011
(2) 用原码阵列乘法器:
[x]原=1 11111 [y]原=1 11011
因符号位单独考虑,|x|=11111 |y|=11011
1 1 1 1 1 ×) 1 1 0 1 1
——————————————————————————
1 1 1 1 1
1 1
1
1
1
0 0 0 0 0
1 1
1
1 1
1 1 1 1
1
1 1 0
1
0 0
0
1
0 1
[x×y]原=0 1101000101 用补码阵列乘法器:
[x]补=1 00001 [y]补=1 00101 乘积符号位为:1
|x|=11111 |y|=11011
1 1 1 1 1 ×) 1
1 0 1 1
——————————————————————————
1 1 1 1 1
1 1 1
1 1
0 0 0
0 0
1 1 1 1 1
7