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

本文简述计算机中浮点数的存储方式,以便查阅。内容来自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。


浮点数的舍入:

有四种舍入方式,默认的是舍入到最接近的数,当和左右一样接近时,取偶数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值