计算机组成原理第二版唐朔飞课后习题答案.doc 下载本文

x2= -27/1024= -0.0000011011B =

2-5*(-0.11011B)

x3=7.375=111.011B=23*0.111011B x4=-86.5=-1010110.1B=27*(-0.10101101B

)

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

(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