无亚正规数且含隐藏1位的浮点格式中0.0的表示方式问询
无亚正规数带隐藏1位的浮点格式中0的表示方式
在无亚正规数但带有“隐藏1位”的浮点格式中,0几乎都是以阶码全0且尾数全0的编码作为特殊情况保留的,而非占用整个二进制阶的范围。
原因很直接:
- 带隐藏1位的浮点格式里,所有正规数的有效数都是
1.尾数的形式,阶码采用偏移式编码(比如IEEE 754单精度阶码偏移量为127)。 - 当阶码取偏移后的最小合法值(比如单精度的1,对应实际阶-126),尾数全0时表示的是
1.0 × 2^(-126)——这是该格式下最小的正规数,完全不等于0。 - 0无法通过
1.尾数 × 2^阶的形式生成(因为1.尾数的最小值是1.0,乘以任何2的整数次幂都得不到0),所以必须把阶码全0 + 尾数全0的组合单独拿出来,定义为0的专属编码。
至于你提到的PDP-11,它的浮点格式(比如F格式)确实遵循这个逻辑:阶码全0且尾数全0表示0;阶码全0但尾数非0的编码属于非法值,不会被当作有效数值处理。
内容的提问来源于stack exchange,提问作者Steve Summit
相关产品推荐
相关产品推荐

