浮点数计算机组成原理问题,计算机组成原理习题及答案
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 010*******. ?+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