《计算机组成原理》课后题答案 清华大学出版 秦磊华 吴非··

?当尾数符号为01或10时,需要向右规格化,且只需将尾数右移一位,同时将结果的阶码值加1。

?当尾数运算结果为11.1××?×或00.0××?×时需要左移规格化,而且左移次数不固定,与运算结果的形式有关。

左规的方法是尾数连同符号位一起左移位、和的阶码减1,直到尾数部分出现11.0或00.1的形式为止。

4)为什么阵列除法器中能用CAS的进位/借位控制端作为上商的控制信号?

答:阵列除法器利用不恢复余数的除法,当商上1的时候,会产生进位,当商上0时,不产生进位,进位信号与上商信号是相同的,所以可以用CAS的进位/借位控制作为上商的控制信号。

5)移位运算和乘法及除法运算有何关系? 答:移位运算是乘除法中的基本运算。

3.3 已知x和y,用变形补码计算x+y,并判断结果是否溢出。 (1) x=0.11010,y=0.101110 (2) x=0.11101,y=-0.10100

(3) x=-0.10111,y=-0.11000 解:(1)[x+y]补=01.100010,溢出。 (2)[x+y]补=00.01001,未溢出。 (3)[x+y]补=10.10001,溢出。

3.4 已知x和y,用变形补码计算x-y,并判断结果是否溢出。 (1) x=0.11011,y=0.11101 (2) x=0.10111,y=0.11110 (3) x=-0.11111,y=-0.11001 解:(1)[x-y]补=11.11110,未溢出。 (2)[x-y]补=11.11001,未溢出。 (1)[x-y]补=11.11001,未溢出。 3.5 设移码用6位表示(包含2位符号位),求[x ? y]移 (1)x = -6 , y = -3 (2)x=7 , y =11 (3)x=-3 , y =-12 解:(1)[x]移=001010,[y]移= 001101 [-y]移=110011 [Y]补= 111101 [-Y]补= 000011

[X]移 + [y]移=010111,

[X]移 + [Y]补= 001010+111101 =000111

根据移码加法公式[x + y]移=[X]移 + [Y]补= 000111

根据移码加法公式及溢出判断规则,双符号位为00,结果为负,未溢出。 根据移码的减法公式:

[x-y]移 = [x]移 + [-y]补

= 001010 + 000011 = 001101

根据移码溢出判断规则,双符号位为00,结果为负,未溢出。

(2)[x]移=110111, [y]补= 001011 [-y]补=110101

根据移码加法公式[x + y]移=[X]移 + [Y]补= 010111+ 001011 = 100010

(根据教材中说明的当以译码和补码两种数据表示进行运算时,要将移码第一符号位表示为0)

根据移码溢出判断规则,双符号位为10,结果为正,且发生溢出。

根据移码的减法公式:

[x-y]移 = [x]移 + [-y]补 = 010111+ 110101 = 001100 根据移码溢出判断规则,双符号位为00,结果为负,未溢出。 (3)略,请参照本题前两小题的思路和方法求解即可 3.6用原码一位乘法计算x×y=? (1) x=-0.11111,y=0.11101 (2) x=-0.11010,y=-0.01011 解:(1) 部分积 乘数(y) 判断位 说明 ↑ 00.00000 yf.11101 P0=0 +00.11111 00.11111 →00.01111 1 yf.1110 右移一位,得P1 +00.00000 00.01111 →00.00111 11 yf.111 右移一位,得P2 +00.11111 01.00110 →00.10011 011 yf.11 右移一位,得P3 +00.11111 01.10010 →00.11001 0011 y.1 右移一位,得P4 +00.11111 01.11000 →00.11100 00011 yf 右移一位,得P5=|x|·|y| 由于 Pf=xf?yf=0?1=1 所以 x·y = ?0.1110000011

(2) 部分积 乘数(y) 判断位 说明 ↑

00.00000 yf. 01011 P0=0 +00.11010 00.11010 →00.01101 0 yf.0101 右移一位,得P1 +00.11010 01.00111 →00.10011 10 yf.010 右移一位,得P2 +00.00000 00.10011 →00.01001 110 yf.01 右移一位,得P3 +00.11010 01.00011 →00.10001 1110 y.0 右移一位,得P4 +00.00000 00.10001 →00.01000 11110 yf 右移一位,得P5=|x|·|y| 由于 Pf=xf?yf=1?1=0 所以 x·y = 0.0100011110

3.7用补码一位乘法计算x×y=? (1) x=0.10110,y=-0.00011 (2) x=-0.011010,y=-0.011101 解:(1)

[x]补=0.10110, [-x]补=1.01010, [y]补=1.11101

部分积 乘数 ynyn+1 说明 ?? 00.00000 1.111010 yn+1=0 +11.01010 yn+1yn=01,加[-x]补 11.01010 → 11.10101 0 1.11101 右移一位,得P1 +00.10110 yn+1yn=10,加[x]补 00.01011 →00.00101 10 1.1110 右移一位,得P2 +11.01010 yn+1yn=01,加[-x]补 11.01111 →11.10111 110 1.111 右移一位,得P3 +00.00000 yn+1yn=11,加0 11.10111 →11.11011 1110 1.11 右移一位,得P4 +00.00000 yn+1yn=11,加0 11.11011 →11.11101 11110 1.1 右移一位,得P5 +00.00000 yn+1yn=11,加0 11.11101 11110 最后一步数据不移位 所以 [x·y]补=1.1110111110

联系客服:779662525#qq.com(#替换为@)