计算机组成原理第五版_白中英(详细)第2章作业参考答案 下载本文

.. . .

..

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]符号=0?1=1

所以 [x?y]原=1 1101000101

用直接补码阵列乘法器:[x]补=011011,[y]补=100001 (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) 0 (1) (1) 0 (1) (1) 1 1 0 1 1

将乘积中的符号位用负权表示,其他的负权位化为正权,得:[x?y]补=1 0010111011

(2) 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]符号=1?1=0

所以 [x?y]原=0 1101000101

用直接补码阵列乘法器:[x]补=100001,[y]补=100101 (1) 0 0 0 0 1 ? (1) 0 0 1 0 1 (1) 0 0 0 0 1 (0) 0 0 0 0 0

(1) 0 0 0 0 1

(0) 0 0 0 0 0 (0) 0 0 0 0 0

1 (0) (0) (0) (0) (1) 1 0 0 (1) (1) 0 0 0 1 0 1

将乘积中的符号位用负权表示,其他的负权位化为正权,得:[x?y]补=0 1101000101

. 学习参考 .

.. . .

..

8、

(1) x=11000,y=-11111

用原码阵列除法器计算,符号位单独处理,商的符号位=0?1=1

设a=(|x|?2-5),b=(|y|?2-5),则a,b均为正的纯小数,且 x÷y的数值=(a÷b);余数等于(a÷b)的余数乘以25

下面用不恢复余数法的原码阵列除法器计算a÷b

[a]补=[|x|?2-5]补=0.11000,[b]补=[|y|?2-5]补=0.11111,[-b]补=1.00001 过程如下:

0. 1 1 0 0 0 +[-b]补 1. 0 0 0 0 1 1. 1 1 0 0 1 ——余数为负,商为0 1. 1 0 0 1 0 ——余数和商左移一位(0) +[b]补 0. 1 1 1 1 1

0. 1 0 0 0 1 ——余数为正,商为1 1. 0 0 0 1 0 ——余数和商左移一位(01) +[-b]补 1. 0 0 0 0 1

0. 0 0 0 1 1 ——商为1 0. 0 0 1 1 0 ——(011) +[-b]补 1. 0 0 0 0 1

1. 0 0 1 1 1 ——商为0 0. 0 1 1 1 0 ——(0110)

. 学习参考 .

.. . .

..

+[b]补 0. 1 1 1 1 1 1. 0 1 1 0 1 ——商为0 0. 1 1 0 1 0 ——(01100) +[b]补 0. 1 1 1 1 1

1. 1 1 0 0 1 ——商为0——(011000) 即:a÷b的商为0.11000;

余数为1.11001?2-5,因为1.11001为负数,加b处理为正数,

1.11001+b=1.11001+0.11111=0.11000,所以a÷b的余数为0.11000?2-5 所以,(x÷y)的商=-0.11000,原码为:1.11000;余数为0.11000

(2) x=-01011,y=11001 商的符号位=1?0=1

设a=|x|?2-5,b=|y|?2-5,则a,b均为正的纯小数,且 x÷y的数值=a÷b;余数等于(a÷b)的余数乘以25

下面用不恢复余数法的原码阵列除法器计算a÷b

[a]补=[|x|?2-5]补=0.01011,[b]补=[|y|?2-5]补=0.11001,[-b]补=1.00111 过程如下:

0. 0 1 0 1 1 +[-b]补 1. 0 0 1 1 1

1. 1 0 0 1 0 ——余数为负,商为0 1. 0 0 1 0 0 ——余数和商左移一位(0) +[b]补 0. 1 1 0 0 1

. 学习参考 .