计算机组成原理习题及答案 下载本文

(2)【W】补=【X】原=【Y】反=【Z】移=80H (3)【W】补=【X】原=【Y】反=【Z】移=FFH 解:(1)W、X、Y的真值均为0;Z的真值为-128

(2)X的真值为-0,Y的真值为-127,W的真值为-128,Z的真值为

0

(3)X的真值为-127,Y的真值为-0,W的真值为-1,Z的真值为127 9.用补码表示二进制小数,最高位用1位表示符号(即形如

xf.x1x2?xn-1xn)时,模应为多少? 解:设X=-0.1101,则二进制数补码的模为 【X】补-X=1.0100-(-0.1100)=10(二进制)=2

10.用变形补码表示二进制小数,最高位用两位表示符号(即形如

xf.x1x2?xn-1xn)时,模应为多少? 解:设X=-00.1100,则二进制数补码的模为 【X】补-X=11.0100-(-00.1100)=100(二进制)=4

11.设字长为5.定点小数的原码表示范围和补码表示范围分别为多

少?

解:(1)字长为5,原码表示时,其表示范围如下:

最小负数 最大负数 最小正数 最大正数 · · 0 · · 二进制原码 1.111 1.001 0.001 0.111 十进制真值 -(1-2-4) -2-4 2-4 1-2-4 (2)字长为5,补码表示时,其表示范围如下:

最小负数 最大负数 最小正数 最大正数 · · 0 · · 二进制原码 1.0000 1.111 0.0001 0.1111 十进制真值 -1 -2-4 2-4 1-2-4 12.设字长为4,定点整数的原码表示范围和补码表示范围分别为多

少?

解:(1)字长为4,原码表示时,其表示范围如下:

最小负数 最大负数 最小正数 最大正数 · · 0 · · 二进制原码 1111 1001 0001 0111 十进制真值 -(23-1)=7 -1 +1 23-1 (2)字长为4,补码表示时,其表示范围如下:

最小负数 最大负数 最小正数 最大正数 · · 0 · · 二进制原码 10000 1111 00001 01111 十进制真值 -23=-8 -1 +1 23-1=7 13.求证:-【y】补=【-y】补

证明:因为【x】补+【y】补=【x+y】补,令x=-y代入,则有 【-y】补+【y】补=【-y+y】补=【0】补=0 所以【y】补=【-y】补

14.若【y】补=y0y1y2?yn,求证:-【y】补=y0y1y2?yn+2-n

证明:(1)当[y]补=0.y1y2?yn,y= 0.y1y2?yn时,因为-[y]补=[-y]补,而-y=-0.y1y2?yn,[-y]补=1.y1y2?yn+2-n

(2) 当[y]补=1.y1y2?yn,y=-(0.y0y1y2?yn+2-n)-y=1.y0y1y2?yn+2-n, [-y]补=0.y1y2?yn+2-n所以,-[y]补=0.y1y2?yn+2-n。

综合(1)(2)得:-[y]补=y0y1y2?yn+2-n即,求-[y]补时,将[y]补连符号位一起求反加1 。 15.求证:[-X]补=[[X]补]补

证明:(1)当0≤X≤1时,设[X]补=0.X1X2?Xn=X,-X=-0. X1X2?Xn 所以[-X]补=1.X1X2 ?Xn+2-n

比较[x]补和[-x]补,发现将[x]补连同符号位求反,末位加1,即得 [x]补。

(2)当-1?x<0时,设[x]补=1.X1X2?Xn,则X=-(0. X1X2 ?Xn+2-n) 时,因为-[y]补=[-y]补,而-y=-0.y1y2?yn,[-y]补=1.y1y2?yn+2-n 比较[x]补和[-x]补,发现将[x]补连同符号位求反,末位加1,即得 [x]补。

所以,[-X]补=[[X]补]补

16.设[X]补= X0X1X2?Xn,求证:

?1[X]补=2X0+X,其中X0=??0

0>x≥-1

1>X≥0

证明:当1>X≥0时,X为正小数,因为正数补码等于正数本身,所以[X]补=X,X0=0当0>X>-1时,X为负小数,根据补码定义有[X]补=2+X,X0=1.

若1>X≥0,X0=0,则[X]补=2X0+X=X;若0>X≥-1时,X0=1,则[X]补=2X0+X =2+X。

?1故[X]补=2X0+X,其中X0=??0 1>X≥0

0>x≥-1

2.3.2

1.将下列十进制数表示成浮点规格化数,阶码3位,用补码表示;尾数9位,用补码表示。 (1)27/64 (2)-27/64

解:(1)27/16=11011*2?6=0.11011*2?1 其浮点补码表示为:111011011000

(2)-27/64=-11011*2?6=-0.11011*2?1 其浮点数补码表示为:111100101000

2.设十进制数X=(-128.75)*2?10, (1)用16位定点数表示X值

(2)设用21位二进制位表示浮点数,阶码5位,其中阶符1位;尾数16位,其中符号1位;阶码底为2.

写出阶码和尾数均用原码表示的X的机器数,以及阶码和尾数均用补码表示的X的机器数。

解:(1)X=(-128.75)*2?10=-10000000.11*2?10=-0.001000000011 其16位定点数表示为:1.110111111101000

(2)X=(-128.75)*2?10=-10000000.11*2?10=-0.1000000011*2?2 阶码和尾数均用原码表示的X的机器数为:10010 1100000001100000 阶码和尾数均用补码表示的X的机器数为:11110 10111111110100000