浮点数的在内存中的存储

一、整体表现形式

根据国际标准IEEE(电气和电子工程协会) 754,任意一个二进制浮点数V可以表示成下面的形式:

(-1)^S*M*2^E

接下来分项解释含义

(-1)^S表示符号位,当S=0则为整数,S=1,则为负数

M表示有效数,大小等于1小于2

2^E表示指数位

二、不同浮点数类型的储存区别

(1)、32位

S(1bit)E(8bit)M(23bit)

(2)、64位

S(1bit)E(11bit)M(52bit)

三、举例

十进制的5.0

二进制便是101.0

相当于1.01*2^2

按照上面规定的格式

S=0,E=2,M=1.01

四、填入内存的规则

S直接填入0或者1,E对于32位则需要加127中间值,64位则需要加1023中间值后转化为二进制填入,M去掉首位1,直接填入小数点后边的数字

五、特殊规则

(1)、E不全为0不全为1

             指数E减去127或者1023,得到真实值,再把有效数字M前加上第一位的1

(2)、E全为0

             有效数字前不再加上第一位的1,而是直接还原为0.XXX的小数,为了更加贴近0

(3)、E全为1

             由于数字太大,如果M为0,则表示±无穷大

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值