计算题

已知某 32 位二进制机器数为 11000000000000000000000000000000, 试计算在下列各种编码方式下其代表的真值。

问答题

原码定点小数;

【正确答案】

该 32 位二进制机器数为原码定点小数时, 根据其符号位为 1 可知其为负数, 其真值为-1×2-1 =-0. 5;

【答案解析】
问答题

补码定点小数;

【正确答案】

该 32 位二进制机器数为补码定点小数时, 根据其符号位为 1 可知其为负数, 为方便计算, 将其连符号位在内取反加 1, 得其相反数的补码机器数为:
0. 1000000000000000000000000000000。
相反数真值为 1×2-1 =0. 5, 故原机器数真值为-0. 5;
另外一种常用的方法是通过数值部分“减一取反” 的方法求得其原码, 进而求真值。

【答案解析】
问答题

反码定点小数;

【正确答案】

该 32 位二进制机器数为反码定点小数时, 根据其符号位为 1 可知其为负数, 故将其数值位取反即可得其真值对应的原码机器数为:
1. 0111111111111111111111111111111
其真值为-(0×2-1 ×2-2 +…+1×2-31 ) =-(2-1 -2-31 );

【答案解析】
问答题

 IEEE754 标准短实数。

【正确答案】

 该 32 位二进制机器数表示 IEEE754 标准短实数时, 根据 IEEE754 标准的短实数格式: 符号位 S(1 位)、阶码(8 位)、 尾数(23 位) 知其为负数, 写出隐藏位。
得其尾数的形式为: -1. 00000000000000000000000, 尾数真值为-1, 又 IEEE754 标准短实数阶码采用偏移量为 7FH 的移码。
故其阶码真值为: 100000002 -011111112 =000000012 =110, 又基数为 2, 故题目所求真值为-1×21 =-2。

【答案解析】