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

3.写出下列数据规范化浮点数的编码(设1位符号码,阶码为5位的移码,尾数为十位的补码)。 ?+111000 ?-10101 ?+0.01011 解:?+111000=26×0.111000

符号位为1位;6的阶码移码表示为10110;尾数补码为1110000000,所以+111000的规格化浮点数的编码为 0 10110 1110000000。 ?-10101=-25×0.10101

符号位为0;5的阶码移码表示为10101;尾数补码为 10101100000,所以-10101的规格化浮点数的编码为 1 10101 0101100000. ?+0.01011=2-1×0.1011

符号位为0;-1的阶码移码表示为01111;尾数补码为1011000000,所以+0.01011的规格化浮点数的编码为 0 01111 1011000000。

4.设32位长的浮点数,其中阶符为1位,阶码为7位,数符为1位,尾数23位。分别写出机器数采用原码和补码表示时,所对应的最接近0的负数。

解:最接近0的十进制负数就是绝对值最小的负数。 原码表示时为:-(2-1)×2-128 补码表示时为:-(2-1+2-23)×2-128

以上两个答案都是在规格化情况下得到的。因为题目中没有

特别强调规格化,所以非规格化情况下的答案为:-2-23×2-128(原码、补码相同)。

5.按下述现定格式(阶符一位,阶码7位,尾符1位,尾数23位),写出真值为-23/4096的补码规格化浮点数形式。 解:首先将十进制数-23/4096转换成二进制数,使用一些技巧进行转换可以节省时间。-23/4096=23×2-12转换成二进制数为-10111×2-12,写成规格化形式为-0.10111×2-7。 若阶码和尾数均用补码表示,则次浮点数的形式为: 11111001 1.01001000000000000000000 6.将十进制数20.59375转换成32位IEEE754浮点数的二进制数格式来存储。

解:先将二进制数转换成十进制数:(20.59375)10=(10100.10011)2。然后移动小数点,使其在1,2之间:10100.10011=1.010010011×24,e=4。 于是得到S=0,E=4+127=131,M=10000011。 最后得到32位浮点数的二进制格式为:

0 10000011 01001001100000000000000=(41A4C000)

16

7.设由S,E,M三个域组成的一个32位二进制字所表示的非零规格化数x,其表示为:x=(-1)×(1.M)×2E-127。问它所能表示的规格化的最大正数、最小正数、最大负数、最小负数是多少?

解:?最大正数 0 11 111 11 111 111 111 111 111 111 111 11 X=[1+(1-2-23)]×2127 ?最小正数 0 00 000 000 000 000 000 000 000 000 000 00 X=1.0×2-128 ?最大负数 1 111 111 11 111 111 111 111 111 111 111 11 X=-[1+(1-2-23)]×2127 ④最小负数 1 X=1.0×2-128

8.计算机存储程序概念的特点之一是把数据和指令都作为二进制信号看待。今有一计算机字长32位,数符位是第31位;单精度浮点数格式如下图所示:

00 000 000 000 000 000 000 000 000 000 00 31 30 23 22 0 对于二进位1000 1111 1110 1111 1100 0000 0000 0000, ?表示一个补码整数,其十进制值是多少? ?表示一个无符号整数,其十进制整数值是多少? ?表示一个IEEE754标准的单精度浮点数,其值是多少?

解:?表示一个补码整数时,

其真值=-111 0000 0001 0000 0100 0000 0000 0000B=-70104000H

其十进制值=-7×167+1×165+4×163

②表示一个无符号整数时,其十进制值=8×167+15×166+14×165+15×164+12×163

③表示一个IEEE75标准的单精度浮点数时,二进制按格式展开为: 1 0001 1111 110 1111 1100 0000 0000 0000 ↑

S 阶码8位 尾数23位

指数e=阶码-127=0001 1111-01111111=-1100000=(-96)10

包括隐藏位1的尾数1.M=1.110 1111 1100 0000 0000 0000=0.110 1111 11

于是有 X=(-1)s×1.M×2e=-(1.110 1111 11)×2-96

= -(0.1110 1111 11)×2-95

=-(14×16-1+15×16-2+12×16-3)×2-95 =-0.3115

9.设阶码8位(用移码表示),尾数23位,数符1位。用IEEE754格式表示的浮点数X的十六进制存储格式为(41360000)16,求其32位浮点数的十进制值。

解:将十六进制展开后,可以得到二进制格式为: 0 1000 0010 0110 1100 0000 0000 0000 000