为什么在IEEE32位浮点格式中,移码的偏移值常量为什么是127,我不要你说2的7次方减1,我要为什么

来源:百度知道 编辑:UC知道 时间:2024/06/23 08:18:09
书上说移码的传统定义是真值加2的k次方,k是阶码的数值位数,可是为什么如题所述,又变成了2的k-1次方减1呢?

在IEEE32位浮点格式中,阶码字段k=8位,而移码=2的k次方+e中的k是阶码数值部分。所以要减去1位符号位。

尾数f中有一位在小数点之前的1的隐藏位中,23位的尾数实际上表示了24位的有效数字,所以尾数多了一位,阶码也就少了一位。

比如4位(即n=4)表示时,阶码部分最高为1111(即15)。我们随便取一个2进制数1001001。当偏置常数为2的(n-1)次方时,根据公式
阶码=偏置常数+阶。
得到
阶=阶码-偏置常数,即7=15-2的3次方。那么随便取的这个数浮点表示为0.1001001*2的7次方。
当偏置常数为2(n-1)-1时,根据公式
阶8=15-(2的3次方-1)
此时表示为:0.0100100*2的8次方。比较这两个式子,十分位还可以放1,第二个能表示的范围扩大了,比不减1时多了一个位,扩大好像是一倍吧。
还有,浮点表示时尾数部分第一个1省略,这个知识可以看书。。

四年了,还没人回答!

强记吧! 貌似跟 尾数那个默认加一差不多原理,当阶码全0的时候,偏置值减一的情况下可以表示1