Double型数据的存储方式和计算方法

Double型数据的存储方式是什么?

目前C/C++编译器标准都遵照IEEE制定的浮点数表示法来进行float,double运算。这种结构是一种科学计数法,用符号、指数和尾数来表示,底数定为2——即把一个浮点数表示为尾数乘以2的指数次方再添上符号。下面是具体的规格:

            符号位     阶码      尾数     长度

float           1          8        23     32

double          1         11        52     64

这里的阶码是无符号的,但是实际上阶码是有符号的,所以要把实际的指数加2^7-12^10-1。例如2double型阶码就是100 0000 0000

尾数是把数据用科学计算法表示,并且小数点前只有一位,存时把小数点前的1去掉。

例如3的二进制是1.1*2^1,所以,double浮点数就是0x4008 0000 0000 0000

而有的小数的二进制数是无穷的,这就是浮点数的精度。

5.3的浮点数:

51010.30.010011001100110011001100110011001100110011…

整体就是1.010100110011001100110011001100110011…*2^2

故浮点数为4015 33333333 3333

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值