浮点数在内存中的储存格式

 

任何浮点数的二进制格式的科学计数法可表示为(-1)^S * M * 2^E
S:符号位,0为正,1为负
M*2^E:代表有效值,M范围为[ 1,2 )

1.M在存储时只存小数点后的数,不存前面的1
2.由于E的值可为负数,所以将E+127的值储存到内存中

内存图:   -|--------|----------------------- (32位)
        S(1bit) E(8bit)          M(23bit)

例:9.0
二进制为1001.0
可表示为(-1)^0 *1.001* 2^3
所以S=0    E=3    M=1.001
存     S      E+127   011
所以 0 10000010 00100000000000000000000

例:0.5
二进制为0.1
可表示为(-1)^0 * 1.0 * 2^(-1)
所以S=0    E=-1    M=1.0
存     S       126       0
所以 0 01111110 00000000000000000000000

例:5.5
二进制为101.1
可表示为(-1)^0 * 1.011 * 2^2
所以S=0    E=2    M=1.011
存     S       129      011
所以 0 10000001 01100000000000000000000
 

以上我对于就是浮点数在内存中的储存格式的初步认识,如有错误,请指正。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值