已知某32位二进制机器数为11000000000000000000000000000000,试计算在下列各种编码方式下其代表的真值。
问答题
原码定点小数;
【正确答案】正确答案:该32位二进制机器数为原码定点小数时,其真值为一1×2
-1
=一0.5;
【答案解析】
问答题
补码定点小数;
【正确答案】正确答案:该 32位二进制机器数为补码定点小数时,根据其符号位为1可知其为负数,为方便计算,将其连符号位在内取反加1,得其相反数的补码机器数为0.1000000000000000000000000000000相反数真值为1×2
-1
=0.5,故原机器数真值为一0.5;
【答案解析】
问答题
反码定点小数;
【正确答案】正确答案:该 32位二进制机器数为反码定点小数时,根据其符号位为1可知其为负数,故将其数值位取反即可得其真值对应的原码机器数为1.0111111111111111111111111111111其真值为一(0×2
-1
+1×2
-2
+…+1×2
-31
)=一(2
-1
一2
-31
);
【答案解析】
问答题
IEEE754标准短实数。【注】题中机器数中间加空格是为了读写方便,并非机器数的一部分,答题时如有需要可类似表示。
【正确答案】正确答案:该 32位二进制机器数表示IEEE754标准短实数时,根据IEEE754标准的格式,知其为负数,写出隐藏位,得其尾数的形式如下一1.00000000000000000000000尾数真值为一1,又IEEE754标准短实数阶码采用偏移量为7FH的移码,故其阶码真值为10000000
2
—01111111
2
=00000001
2
=1
10
,又基数为2,故题目所求真值为一1×2
1
=一2。
【答案解析】