32位字长的浮点数,其中阶码8位(含1位阶符),尾数24位(含1位数符),机器数采用补码表示,且尾数为规格化形式,则对应的最小正数为( )。

admin2019-08-10  35

问题 32位字长的浮点数,其中阶码8位(含1位阶符),尾数24位(含1位数符),机器数采用补码表示,且尾数为规格化形式,则对应的最小正数为(    )。

选项 A、2127(1-2-23)
B、2-129
C、2-128×2-23
D、2-127×2-23

答案B

解析 最大数、最小数及规格化浮点数的二进制表示如表4—5所示。

    分析:
    (1)最大数的二进制表示:首先要使得数最大,很明显前面2的××次方必须是最大的,自然就想到01111111,后面的尾数也尽量离1最近,自然想到011111111111111111111111。
    (2)最小数的二进制表示:首先要使得数最小,很明显前面2的××次方必须是最大的,自然就想到01111111,后面的尾数也尽量离-1最近,因为越近和前面的指数乘起来就会越远离0。而补码又恰好可以取到-1,那就肯定是选择-1了,自然就想到1 00000000000000000000000。
    (3)规格化形式范围其实和(1)(2)的情况类似,这里只讲一个比较难理解的,即规格化最大负数。首先不考虑规格化的事情,要使得一个数是最大的负数,也就是离0越近越好,所以自然想到2的指数越小越好,既然是补码,自然就想到最小的数-128,所以阶码应该是10000000,尾数也应该离1最近,现在的离1最近就不能随便选了,因为是要选择满足规格化的前提下离1最近的数字。而规格化要求1/2≤|s|<1,所以s应当取得-1/2才是最理想的,但是-1/2不是规格化数,所以退一步,加一个最小的数,也就是2-23,得到所要的结论。
    考生看完此总结以后,应当能马上写出任何位数以补码形式表示的规格化浮点数的范围,不是补码也没有关系,只要知道此X码能够表示数的范围就好了,思路都是一致的。
转载请注明原文地址:https://jikaoti.com/ti/jPGjFFFM
0

相关试题推荐
最新回复(0)