浮点数的储存方式

目录

一、浮点数类型

二、浮点数的国际标准

三、浮点数的储存方式

1.那么这个国际标准是什么意思呢?

2.关于M位和E位的特殊规定

3.浮点数无穷小和无穷大的概念


一、浮点数类型


浮点数类型字节长度
float4
double8

二、浮点数的国际标准


根据国际标准IEEE(电气和电子工程协会) 754,任意一个二进制浮点数V可以表示成下面的形式: (-1)^S * M * 2^E,其中 (-1)^s表示符号位,当s=0,V为正数;当s=1,V为负数。 M表示有效数字,大于等于1,小于2。 2^E表示指数位。


三、浮点数的储存方式


1.那么这个国际标准是什么意思呢?

我们可以知道每一个浮点数可以用:(-1)^S * M * 2^E表示;

S区表示符号位:1为正,0为负;

M区表示有效位:数值的具体数值,用科学计数法表示;

E区表示指数位:最后的有效位的数值再乘上指数位的次方就是该浮点数发数值;

 double型和float型的类似

2.关于M位和E位的特殊规定

M区:由于数值在内存中都是以二进制的进行储存的,所以数据用科学计数法表示时,最高位a一定是 1 < a < 2 的,所以其最高位一定是1,即在进行储存时可以将其省略,最好计算时再加上去即可。所以规定,M位在储存数据时,是舍弃了小数点前面的一的。

E区:在:(-1)^S * M * 2^E这样的表示中,S是符号位,E区没有符号位(E区是无符号数),但是在浮点数中,我们需要出现负指数的情况,所以规定在表示指数时,在指数原有的基础上float:加上127(double:加上1023),在进行计算时再减去127或者1023得到原来的指数;

3.浮点数无穷小和无穷大的概念

当E区全为0时,M区计算时不再加上原来的1,而是加上0进行计算,相当于是0.000(二进制)几的2^(-127),非常接近于0了,因此就相当于无穷小;

当E区全为1时,,M区为0时,就相当于无穷大;

  • 10
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 10
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

绅士·永

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值