计算机组成原理-第二版-唐朔飞著-课后习题详解(完整资料).doc 下载本文

内容发布更新时间 : 2024/5/3 5:01:39星期一 下面是文章的全部内容请认真阅读。

y<0时,有x>y,但则[x]补<[y]补;同样,当x<0、 y >0时,有x < y,但[x]补>[y]补。

9. 当十六进制数9B和FF分别表示为原码、补码、反码、移码和无符号数时,所对应的十进制数各为多少(设机器数采用一位符号位)?

解:真值和机器数的对应关系如下:

9BH 原码 补码 反码 移码 无符号数 对应十进制-27 -101 -100 +27 155 数 FFH 原码 补码 反码 移码 无符号数 对应十进制-128 -1 -0 +128 256 数 10. 在整数定点机中,设机器数采用1位符号位,写出±0的原码、补码、反码和移码,得出什么结论? 解:0的机器数形式如下:(假定机器数共8位,含1位符号位在内)

真值 原码 补码 反码 移码 +0 0 000 0 000 0 000 1 000 0000 0000 0000 0000 -0 1 000 0 000 1 111 1 000 0000 0000 1111 0000 结论:0的原码和反码分别有+0和-0两种形式,补码和移码只有一种形式,且补码和移码数值位相同,符号位相反。

11. 已知机器数字长为4位(含1位符号位),写出整数定点机和小数定点机中原码、补码和反码的全部形式,并注明其对应的十进制真值。

原码 0,000 0,001 0,010 0,011 0,100 0,101 0,110 0,111 1,000 1,001 1,010 1,011 1,100 1,101 1,110 1,111 无 整数定点机 补码 反码 真值 0,000 0,000 +0 0,001 0,001 1 0,010 0,010 2 0,011 0,011 3 0,100 0,100 4 0,101 0,101 5 0,110 0,110 6 0,111 0,111 7 0,000 1,111 -0 1,111 1,110 -1 1,110 1,101 -2 1,101 1,100 -3 1,100 1,011 -4 1,011 1,010 -5 1,010 1,001 -6 1,001 1,000 -7 1,000 无 -8 原码 0.000 0.001 0.010 0.011 0.100 0.101 0.110 0.111 1.000 1.001 1.010 1.011 1.100 1.101 1.110 1.111 无 小数定点机 补码 反码 0.000 0.000 0.001 0.001 0.010 0.010 0.011 0.011 0.100 0.100 0.101 0.101 0.110 0.110 0.111 0.111 0.000 1.111 1.111 1.110 1.110 1.101 1.101 1.100 1.100 1.011 1.011 1.010 1.010 1.001 1.001 1.000 1.000 无 真值 +0 0.125 0.250 0.375 0.500 0.625 0.750 0.875 -0 -0.125 -0.250 -0.375 -0.500 -0.625 -0.750 -0.875 -1

12. 设浮点数格式为:阶码5位(含1位阶符),尾数11位(含1位数符)。写出51/128、-27/1024、7.375、-86.5所对应的机器数。要求如下:

(1)阶码和尾数均为原码。 (2)阶码和尾数均为补码。

(3)阶码为移码,尾数为补码。 解:据题意画出该浮点数的格式:

阶符1阶码4位 数符1尾数10位 位 位 将十进制数转换为二进制:x1= 51/128= 0.0110011B= 2-1 * 0.110 011B

x2= -27/1024= -0.0000011011B

= 2-5*(-0.11011B)

x3=7.375=111.011B=23*0.111011B

x4=-86.5=-1010110.1B=27*(-0.10

101101B)

则以上各数的浮点规格化数为:

(1)[x1]浮=1,0001;0.110 011 000 0 [x2]浮=1,0101;1.110 110 000 0 [x3]浮=0,0011;0.111 011 000 0 [x4]浮=0,0111;1.101 011 010 0 (2)[x1]浮=1,1111;0.110 011 000 0 [x2]浮=1,1011;1.001 010 000 0 [x3]浮=0,0011;0.111 011 000 0 [x4]浮=0,0111;1.010 100 110 0 (3)[x1]浮=0,1111;0.110 011 000 0 [x2]浮=0,1011;1.001 010 000 0 [x3]浮=1,0011;0.111 011 000 0 [x4]浮=1,0111;1.010 100 110 0

13. 浮点数格式同上题,当阶码基值分别取2和16时: (1)说明2和16在浮点数中如何表示。 (2)基值不同对浮点数什么有影响?

(3)当阶码和尾数均用补码表示,且尾数采用规格化形式,给出两种情况下所能表示的最大正数和非零最小正数真值。 解:(1)阶码基值不论取何值,在浮点数中均为隐含表示,即:2和16不出现在浮点格式中,仅为人为的约定。

(2)当基值不同时,对数的表示范围和精度都有影响。即:在浮点格式不变的情况下,基越大,可表示的浮点数范围越大,但浮点数精度越低。 (3)r=2时,

最大正数的浮点格式为:0,1111;0.111 111 111 1

其真值为:N+max=215×(1-2-10)

非零最小规格化正数浮点格式为:1,0000;0.100 000

000 0

其真值为:N+min=2-16×2-1=2-17

r=16时,

最大正数的浮点格式为:0,1111;0.1111 1111 11

其真值为:N+max=1615×(1-2-10)

非零最小规格化正数浮点格式为:1,0000;0.0001 0000 00

其真值为:N+min=16-16×16-1=16-17

14. 设浮点数字长为32位,欲表示±6万间的十进制数,在保证数的最大精度条件下,除阶符、数符各取1位外,阶码和尾数各取几位?按这样分配,该浮点数溢出的条件是什么? 解:若要保证数的最大精度,应取阶码的基值=2。 若要表示±6万间的十进制数,由于32768(215)< 6万 <65536(216),则:阶码除阶符外还应取5位(向上取2的幂)。 故:尾数位数=32-1-1-5=25位

25(32) 该浮点数格式如下:

阶符(1阶码(5位) 数符(1尾数(25位) 位) 位) 按此格式,该浮点数上溢的条件为:阶码?25

15. 什么是机器零?若要求全0表示机器零,浮点数的阶码和尾数应采取什么机器数形式?

解:机器零指机器数所表示的零的形式,它与真值零的区别是:机器零在数轴上表示为“0”点及其附近的一段区域,即在计算机中小到机器数的精度达不到的数均视为“机器零”,而真零对应数轴上的一点(0点)。若要求用“全0”表示浮点机器零,则浮点数的阶码应用移码、尾数用补码表示(此时阶码为最小阶、

尾数为零,而移码的最小码值正好为“0”,补码的零的形式也为“0”,拼起来正好为一串0的形式)。

16.设机器数字长为16位,写出下列各种情况下它能表示的数的范围。设机器数采用一位符号位,答案均用十进制表示。 (1)无符号数;

(2)原码表示的定点小数。 (3)补码表示的定点小数。 (4)补码表示的定点整数。 (5)原码表示的定点整数。

(6)浮点数的格式为:阶码6位(含1位阶符),尾数10位(含1位数符)。分别写出其正数和负数的表示范围。 (7)浮点数格式同(6),机器数采用补码规格化形式,分别写出其对应的正数和负数的真值范围。 解:(1)无符号整数:0 ~ 216 - 1,即:0~ 65535;

无符号小数:0 ~ 1 - 2-16 ,即:0 ~ 0.99998;

(2)原码定点小数:-1 + 2-15~1 - 2-15 ,即:-0.99997~0.99997 (3)补码定点小数:- 1~1 - 2-15 ,即:-1~0.99997 (4)补码定点整数:-215~215 - 1 ,即:-32768~32767 (5)原码定点整数:-215 + 1~215 - 1,即:-32767~32767

(6)据题意画出该浮点数格式,当阶码和尾数均采用原码,非规格化数表示时:

最大负数= 1,11 111;1.000 000 001 ,即 -2-9?2-31

最小负数= 0,11 111;1.111 111 111,即 -(1-2-9)?231 则负数表示范围为:-(1-2-9)?231 —— -2-9?2-31

最大正数= 0,11 111;0.111 111 111,即 (1-2-9)?231 最小正数= 1,11 111;0.000 000 001,即 2-9?2-31 则正数表示范围为:2-9?2-31 ——(1-2-9)?231

(7)当机器数采用补码规格化形式时,若不考虑隐藏位,则 最大负数=1,00 000;1.011 111 111,即 -2-1?2-32 最小负数=0,11 111;1.000 000 000,即 -1?231