您的位置:首页 > 理论基础

计算机中浮点数的存储方式 —— IEEE 754-1985 标准

2014-04-06 05:16 369 查看
本文简述计算机中浮点数的存储方式,以便查阅。内容来自Wikipedia。(http://en.wikipedia.org/wiki/IEEE_754-1985)

IEEE 754-1985 使用二进制表示数字,提供了四种精度,常用的两种是single precision和double precision,即单精度和双精度。另外它还提供了正负无穷、负零和五种异常结果的标准。

IEEE 754-1985 存储浮点数时,将存储空间分成三个部分,从最低位到最高位的顺序依次是:fraction、exponent、sign。其中sign占一个bit。

注解:

1. sign位为0时,代表正数;sign位为1时,代表负数。

2. exponent部分使用的是所谓的biased exponent。即实际存储的数字是我们想表示的数字再加上一个常数,这个常数是[2^(e-1)-1]。它的作用是使得负指数也表示成了一个正数,方便计算机对不同浮点数进行大小比较。

3. 存在所谓”规约形式“和”非规约形式“。

4. 尾数的整数部分在”非规约形式“中默认为0,其他情况默认为1。这部分不进行存储,所以实际上只存储小数部分,即fraction。

特殊值:

1. 如果exponent为0,fraction为0,该数为+/-0。正负依赖于符号位。

2. 如果exponent达到最大,fraction为0,该数为+/-无穷。正负依赖于符号位。

3. 如果exponent达到最大,fraction非零,该数不是一个数(NaN)。NaN即Not a Number。

浮点数的舍入:

有四种舍入方式,默认的是舍入到最接近的数,当和左右一样接近时,取偶数。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息