关于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)
来源:https://www.cnblogs.com/tangqs/archive/2012/12/01/2797350.html