浮点数二进制表示法

我们期望浮点数也可以像定点数(整数)一样在计算机中以二进制方式存储,但是计算机不能识别小数点,于是一种新的存储方式产生了,即IEEE754浮点表示。

下面以单精度浮点数(float)为例描述下浮点数二进制表示方法。
float占4个字节(32bit),每一bit的作用域如下:

sign占1bit,表示正负号(0为正,1为负)。
exponent占8bit,表示指数。(127表示指数为0,如果指数为正,则exponent表示为127+E,如果指数为负,则exponent表示为127-E(指数位))
fraction占23bit,表示小数有效位。(这里会减去整数位1(取值时加上1),只填充小数位部分,没有填充满的位补0)

综上,一个单精度浮点数所代表的数值为:


补充:
当exponent全为0时,浮点数的指数E等于1-127,有效数字fraction不再加上第一位的1,而是还原为0.xxxxxx的小数。这样做是为了表示±0,以及接近于0的很小的数字。
当exponent全为1时,如果小数位fraction全为0,表示±无穷大(正负取决于符号位sign);如果小数位fraction不全为0,表示这个数不是一个数(NaN)。

举例(

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值