发布时间 : 星期二 文章计算机组成原理课后答案(第三版·白中英)更新完毕开始阅读
2. 设[X]补= a0,a1,a2…a6 , 其中ai取0或1,若要x>-0.5,求a0,a1,a2,…,a6 的取值。
解:a0= 1,a1= 0, a2,…,a6=1…1。
3. 有一个字长为32位的浮点数,阶码10位(包括1位阶符),用移码表示;尾数22位(包括1位尾符)用补码表示,基数R=2。请写出:
(1) 最大数的二进制表示; (2) 最小数的二进制表示; (3) 规格化数所能表示的数的范围;
(4) 最接近于零的正规格化数与负规格化数。 解:(1)1111111111 0111111111111111111111 (2)1111111111 1000000000000000000000
(3)1111111111 0111111111111111111111~0111111111 1000000000000000000000
(4)0000000000 0000000000000000000001~0000000000 1111111111111111111111
4. 将下列十进制数表示成浮点规格化数,阶码3位,用补码表示;尾数9位,用补码表示。
(1) 27/64 (2) -27/64
解:(1)27/64=11011B×=0.011011B=0.11011B× 浮点规格化数 : 1111 0110110000
(2) -27/64= -11011B×= -0.011011B= -0.11011B× 浮点规格化数 : 1111 1001010000
5. 已知X和Y, 用变形补码计算X+Y, 同时指出运算结果是否溢出。 (1)X=0.11011 Y=0.00011 (2)X= 0.11011 Y= -0.10101
(3)X=-0.10110 Y=-0.00001
解:(1)先写出x和y的变形补码再计算它们的和 [x]补=00.11011 [y]补=00.00011
[x+y]补=[x]补+[y]补=00.11011+00.00011=0.11110 ∴ x+y=0.1111B 无溢出。 (2)先写出x和y的变形补码再计算它们的和 [x]补=00.11011 [y]补=11.01011
[x+y]补=[x]补+[y]补=00.11011+11.01011=00.00110 ∴ x+y=0.0011B 无溢出。
(3)先写出x和y的变形补码再计算它们的和 [x]补=11.01010 [y]补=11.11111
[x+y]补=[x]补+[y]补=11.01010+11.11111=11.01001 ∴ x+y= -0.10111B 无溢出
6. 已知X和Y, 用变形补码计算X-Y, 同时指出运算结果是否溢出。 (1) X=0.11011 Y= -0.11111 (2) X=0.10111 Y=0.11011 (3) X=0.11011 Y=-0.10011
解:(1)先写出x和y的变形补码,再计算它们的差
[x]补=00.11011 [y]补=11.00001 [-y]补=00.11111 [x-y]补=[x]补+[-y]补=00.11011+00.11111=01.11010 ∵运算结果双符号不相等 ∴ 为正溢出 X-Y=+1.1101B
(2)先写出x和y的变形补码,再计算它们的差
[x]补=00.10111 [y]补=00.11011 [-y]补=11.00101
[x-y]补=00.10111+11.00101=11.11100 ∴ x-y= -0.001B 无溢出
(3)先写出x和y的变形补码,再计算它们的差
[x]补=00.11011 [y]补=11.01101 [-y]补=00.10011 [x-y]补=[x]补+[-y]补=00.11011+00.10011=01.01110 ∵运算结果双符号不相等 ∴ 为正溢出 X-Y=+1.0111B
7. 用原码阵列乘法器、补码阵列乘法器分别计算X×Y。 (1)X=0.11011 Y= -0.11111 (2)X=-0.11111 Y=-0.11011 解:(1)用原码阵列乘法器计算: [x]补=0.11011 [y]补=1.00001
(0) 1 1 0 1 1 ×) (1) 0 0 0 0 1 ---------------------------------- (0) 1 1 0 1 1 (0) 0 0 0 0 0 (0) 0 0 0 0 0 (0) 0 0 0 0 0 (0) 0 0 0 0 0 (0) (1) (1) (0) (1) (1)
----------------------------------------- (1) 0 0 1 0 1 1 1 0 1 1
[x×y]补=1.0010111011 ∴ x×y= -0.1101000101 8. 用原码阵列除法器计算 X÷Y。 (1)X=0.11000 Y= -0.11111 (2)X=-0.01011 Y=0.11001
解:(1)[x]原=[x]补=0.11000 [-∣y∣]补=1.00001
被除数 X 0.11000 +[-∣y∣]补 1.00001 ---------------------- 余数为负 1.11001 →q0=0 左移 1.10010 +[|y|]补 0.11111 ---------------------- 余数为正 0.10001 →q1=1 左移 1.00010 +[-|y|]补 1.00001 ---------------------- 余数为正 0.00011 →q2=1 左移 0.00110 +[-|y|]补 1.00001 ---------------------- 余数为负 1.00111 →q3=0 左移 0.01110