【原创】浮点数存储格式图解

二次信任 提交于 2020-03-04 02:53:45

 关于IEEE-754标准

详细可参考百度百科:http://baike.baidu.com/view/1352525.htm,或者维基百科:http://zh.wikipedia.org/zh-cn/IEEE_754

     为便于软件的移植,浮点数的表示形式应该有统一标准(定义)。1985年IEEE(Institute of Electrical and Electronics Engineers)提出了IEEE754标准。该标准规定基数为2,阶码E用移码表示,尾数M用原码表示,根据二进制的规格化方法,数值的最高位总是1,该标准将这个1缺省存储,使得尾数表示范围比实际存储的多一位。IEEE754标准中有三种形式的浮点数:短浮点数(又称单精度浮点数)、长浮点数(又称双精度浮点数)、临时浮点数(又称扩展精度浮点数,这种浮点数没有隐含位),它们的具体格式如下表:

 

  

类型 存储位数       偏置值  
  数符(s) 阶码(e)

尾数(m)

总位数 十六进制 十进制
短浮点数(Single,float) 1位 8位 23位 32位 7FH +127
长浮点数(Double) 1位 11位 52位 64位 3FFH +1023
临时浮点数(扩展精度浮点数) 1位 15位 64位 80位 3FFFH +16383

 对于阶码为0或255的情况,IEEE754标准有特别的规定:

 

  如果 e 是0 并且 m 是0,则这个数的真值为±0(正负号和数符位有关) 如果 e = 255 并且 m 是0,则这个数的真值为±∞(同样和符号位有关) 如果 e = 255 并且 m 不是0,则这不是一个数(NaN)

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!