(完整版)第二章习题参考答案(5版)

  • 格式:doc
  • 大小:122.51 KB
  • 文档页数:13

下载文档原格式

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

第二章运算方法和运算器

习题参考答案

1. 写出下列各数的原码、反码、补码、移码表示(用8位二进制数)。其中MSB是最高位(又是符号位)LSB是最低位。如果是小数,小数点在MSB之后;如果是整数,小数点在LSB之后。

(1) -35 (2) 128 (3) -127 ( 4) -1

解:

(1)先把十进制数-35/64写成二进制小数:(注意位数为8位)

x=(-35)10=(-100011)2

[x]原=10100011 [x]反=11011100[x]补=11011101

(2) 128写成二进制小数:

x=(128)10=(10000000)2

[x]原=10000000 [x]反=10000000[x]补=10000000

(3) 先把十进制数-127写成二进制小数:

x=(-127)10=(-1111111)2

[x]原=11111111 [x]反=10000000 [x]补=10000001

(4) 令Y=-1=-0000001B

[Y]原=10000001 [Y]反=11111110[Y]补=11111111

2. 设[X]补= a7,a6,a5…a0 , 其中a i取0或1,若要x>-0.5,求a0,a1,a2,…,a6 的取值。

解:若a7= 0,则:x>0, 所以:a1= 0,a2,…,a6任意;

若a7= 1,则:a1= 1,a2,…,a6 不全为0。

3. 有一个字长为32位的浮点数,符号位1位,阶码8位,用移码表示;尾数23位(包括1位尾符)用补码表示,基数R=2。请写出:

(1) 最大数的二进制表示;

(2) 最小数的二进制表示;

(3) 规格化数所能表示的数的范围;

解:(1) 111111111 0 111111111111111111111

(2)111111111 1000000000000000000000

(3)111111111 0111111111111111111111

~011111111 1000000000000000000000

(4)000000000 00000000000000000000001

~000000000 11111111111111111111111

4. 将下列十进制数表示成浮点规格化数,阶码3位,用补码表示;尾数9位,用补码表示。

(1)27/64

(2)-27/64

解:(1)x=27/64=11011B×2-6=0.011011B=1.1011B×2-2

S=0 M=0.10110000000000000000000

E=e+127=-2+127=125=01111101

[x]浮= 0011 1110 1 101 1000 0000 0000 0000 0000

=(3ED80000)16

(2)x=-27/64= -11011B×2-6= -0.011011B= -1.1011B×2-2

S=1 M=0.10110000000000000000000

E=e+127=-2+127=125=01111101

[x]浮= 1011 1110 1 101 1000 0000 0000 0000 0000

=(BED80000)16

浮点规格化数:

[x]浮= 1111 1001010000

5. 已知X和Y, 用变形补码计算X+Y, 同时指出运算结果是否溢出。(1)X=11011 Y=00011

解:先写出x和y的变形补码再计算它们的和

[x]补=00 11011 [y]补=00 00011

[x+y]补=[x]补+[y]补=00 11011+00 00011=00 11110

无溢出。

(2)X= 11011 Y= -10101

解:先写出x和y的变形补码再计算它们的和

[x]补=00 11011 [y]补=11 01011

[x+y]补=[x]补+[y]补=00 11011+11 01011=00 00110

∴ x+y=00 00110B 无溢出。

(3)X= -10110 Y= -00001

解:先写出x和y的变形补码再计算它们的和

[x]补=11 01010 [y]补=11 11111

[x+y]补=[x]补+[y]补=11.01010+11.11111=11 01001

∴ x+y= - 10111 无溢出

6. 已知X和Y, 用变形补码计算X-Y, 同时指出运算结果是否溢出。

(1) X=11011 Y= -11111

解:先写出x和y的变形补码,再计算它们的差

[x]补=00 11011 [y]补=11 00001 [-y]补=00 11111

[x-y]补=[x]补+[-y]补=00 11011+00 11111=01 11010

∵运算结果双符号不相等∴为正溢出

(2) X=10111 Y=11011

解:先写出x和y的变形补码,再计算它们的差

[x]补=00 10111 [y]补=00 11011 [-y]补=11 00101

[x-y]补=00 10111+11 00101=11 11100

∴ x-y= -1 无溢出

(3) X=0.11011 Y=-10011

解:先写出x和y的变形补码,再计算它们的差

[x]补=00 11011 [y]补=11 01101 [-y]补=00 10011

[x-y]补=[x]补+[-y]补=00 11011+00 10011=01 01110

∵运算结果双符号为01不相等∴为正溢出

7. 用原码阵列乘法器、补码阵列乘法器分别计算X×Y。

(1)X= 11011 Y= -11111

(2)X=-11111 Y=-11011