5.设浮点数字长16位其中阶码8位(含1位阶符),尾数8位(含1位数符),阶码采用移码表示,基值为2,尾数用补码表示,计算:(1)机器数为81D0H的十进制[1]数值;(2)此浮点格式的规格化[2]表示范围。
5.设浮点数字长16位其中阶码8位(含1位阶符),尾数8位(含1位数符),阶码采用移码表示,基值为2,尾数用补码表示,计算:
(1)机器数为81D0H的十进制[1]数值;
(2)此浮点格式的规格化[2]表示范围。
题目解答
答案
正确答案:(1)0.0390625;(2) -128 × 2^(-127) 至127 × 2^127。
解析:
(1) 机器数为 81D0H 的十进制数值计算过程如下:
根据题目描述,浮点数字长为 16 位,其中阶码 8 位(含 1 位阶符),尾数 8 位(含 1 位数符),阶码采用移码表示,基值为 2,尾数用补码表示。
步骤:
将 81D0H 转换为二进制数,得到 1000000111010000。
按照浮点数表示的规则将二进制数分为符号位、阶码和尾数。
符号位:1(由阶码的最高位决定,1 为负数)
阶码:00000011(移码表示,表示 -3)
尾数:1010000(补码表示)
根据阶码的移码表示和基值 2,计算出阶码真值为 -3。
根据尾数的补码表示,计算出尾数真值为 -0.3125(因为尾数补码为 1010000,对应的十进制数为 -16,再除以 2^7)。
最终结果为 -(-0.3125) × 2^(-3) = 0.3125 × 2^(-3) = 0.0390625。
因此,机器数为 81D0H 的十进制数值为 0.0390625。
(2) 此浮点格式的规格化表示范围计算过程如下:
根据题目描述,阶码有 8 位(含 1 位阶符),尾数有 8 位(含 1 位数符),阶码采用移码表示,基值为 2。
阶码的移码表示范围为 -2^(8-1) + 1 = -127 到 2^(8-1) - 1 = 127。
尾数的补码表示范围为 -2^(8-1) = -128 到 2^(8-1) - 1 = 127。