计算机组成原理第4章作业参考答案

  • 格式:doc
  • 大小:67.50 KB
  • 文档页数:6

下载文档原格式

  / 6
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第4章部分习题参考答案

【4-4】已知X和Y,试用它们的变形补码计算出X + Y,并指出结果是否溢出

(3)X = -0.10110,Y = -0.00001

解:[X]补= 1.01010 [Y]补= 1.11111

1 1 . 0 1 0 1 0

+ 1 1 . 1 1 1 1 1

1 1 . 0 1 0 0 1

无溢出,X+Y = -0.10111

【4-5】已知X和Y,试用它们的变形补码计算出X - Y,并指出结果是否溢出

(3)X = 0.11011,Y = -0.10011

解:[X]补= 0.11011 [-Y]补= 0.10011

0 0 . 1 1 0 1 1

+ 0 0 . 1 0 0 1 1

0 1 . 0 1 1 1 0

结果正溢

【4-8】分别用原码乘法和补码乘法计算X * Y

(1)X = 0.11011,Y = -0.11111

法一:原码一位乘算法

解:|X| = 0.11011→B |Y| = 0.11111→C 0→A

A C 说明

1 1 1 1 1

C5 = 1, +|X|

1 1 1 1 1 部分积右移一位→

C5 = 1, +|X|

0 1 1 1 1 部分积右移一位→

C5 = 1, +|X|

1 0 1 1 1 部分积右移一位→

C5 = 1, +|X|

0 1 0 1 1 部分积右移一位→

C5 = 1, +|X|

0 0 1 0 1 部分积右移一位→

|X * Y| = 0.1101000101

Ps = Xs ⊕ Ys = 0 ⊕ 1 = 1

X*Y = -0.1101000101

法二:补码一位乘算法

解:[X]补= 0.11011→B [Y]补= 1.00001→C [-X]补= 1.00101 0→A

A C 附加说明

0 0. 0 0 0 0 0 1 0 0 0 0 1 0

+1 1. 0 0 1 0 1 C4C5 = 10 -|X|

1 1. 0 0 1 0 1

1 1. 1 0 0 1 0 1 1 0 0 0 0 1 部分积右移一位→

+0 0. 1 1 0 1 1 C4C5 = 01 +|X|

0 0. 0 1 1 0 1

0 0. 0 0 1 1 0 1 1 1 0 0 0 0 部分积右移一位→

+0 0. 0 0 0 0 0 C4C5 = 00 +0

0 0. 0 0 1 1 0

0 0. 0 0 0 1 1 0 1 1 1 0 0 0 部分积右移一位→

+0 0. 0 0 0 0 0 C4C5 = 00 +0

0 0. 0 0 0 1 1

0 0. 0 0 0 0 1 1 0 1 1 1 0 0 部分积右移一位→

+0 0. 0 0 0 0 0 C4C5 = 00 +0

0 0. 0 0 0 0 1

0 0. 0 0 0 0 0 1 1 0 1 1 1 0 部分积右移一位→

+1 1. 0 0 1 0 1 C4C5 = 10 -|X|

1 1. 0 0 1 0 1

[X*Y]补= 11.0010111011

X*Y = -0.1101000101

【4-10】计算X/Y

(2)X = -0.10101,Y = 0.11011

原码恢复余数法:

解:|X| = -0.101010→A |Y| = 0.110110→B [-|Y|]补= 1.00101 0→C

0 0. 1 0 1 0 1 0 0 0 0 0 0

+1 1. 0 0 1 0 1 -|Y|

1 1. 1 1 0 1 0 <0

+0 0. 1 1 0 1 1 +|Y|

0 0. 1 0 1 0 1 0 0 0 0 0 0 商0

0 1. 0 1 0 1 0 0 0 0 0 0 0 左移←

+1 1. 1 1 0 0 1 -|Y|

0 0. 0 1 1 1 1 0 0 0 0 0 1 >0,商1

0 0. 1 1 1 1 0 0 0 0 0 1 0 左移←

+1 1. 0 0 1 0 1 -|Y|

0 0. 0 0 0 1 1 0 0 0 0 1 1 >0,商1

0 0. 0 0 1 1 0 0 0 0 1 1 0 左移←

+1 1. 0 0 1 0 1 -|Y|

1 1. 0 1 0 1 1 <0

+0 0. 1 1 0 1 1 +|Y|

0 0. 0 0 1 1 0 0 0 0 1 1 0 商0

0 0. 0 1 1 0 0 0 0 1 1 0 0 左移←

+1 1. 0 0 1 0 1 -|Y|

1 1.1 0 0 0 1 <0

+0 0. 1 1 0 1 1 +|Y|

0 0. 0 1 1 0 0 0 0 1 1 0 0 商0

0 0. 1 1 0 0 0 0 1 1 0 0 0 左移←

+1 1. 0 0 1 0 1 -|Y|

1 1. 1 1 1 0 1 <0

+0 0. 1 1 0 1 1 +|Y|

0 0. 1 1 0 0 0 0 1 1 0 0 0 商0

Qs = Xs⊕Ys = 0⊕1 = 1

Q = -0.11000,R = 0.11000*2-5

【4-11】设浮点数的阶码和尾数部分均用补码表示,按照浮点数的运算规则,计算下列各题

(2)X = 2-101*0.101100,Y = 2-100*(-0.101000)解:[X]补= 1011;0.101100

[Y]补= 1100;1.011000

对阶:

△E = Ex – Ey = -5 -(-4)= -1

Ex < Ey,将Mx右移一位,Ex+1→Ex

[X]’补=1011;0.010110

尾数求和:

0 0. 0 1 0 1 1 0

+1 1. 0 1 1 0 0 0

1 1. 1 0 1 1 1 0

尾数结果规格化:尾数左移1位,阶码减1

[X+Y]补=1011;1.011100

X+Y = (-0.100100)*2-101

减法算法过程略,X-Y = 0.111110 * 2-100