C++学习(一三九)float、double的有效数字

本文介绍了C++中float和double类型的精度细节,根据IEEE 754标准,float的有效数字为6-7位,double为15-16位。内容探讨了浮点数的存储结构,包括符号位、指数位和尾数位,并举例说明了不同数值下的有效数字变化。此外,提到了32位单精度和64位双精度格式在 IEEE-754 标准中的重要地位。
摘要由CSDN通过智能技术生成

具体参考《IEEE标准754》

结论为:

float有效数字位为6 – 7位,第7位不一定有效,字节数为4,指数长度为8位,小数长度为23位。取值范围为 3.4E-38~3.4E+38。对于9999999,其实为10000000。

double有效数字位为15 – 16位,第16位不一定有效,字节数为8,指数长度为11位,小数长度为52位。取值范围为1.7E-308~1.7E+308。

浮点数的内部存储为:

浮点数的计算结果为:

n,s,e,m分别为N,S,E,M对应的实际数值,而N,S,E,M仅仅是一串二进制位。
 S(sign)表示N的符号位。对应值s满足:n>0时,s=0; n<0时,s=1。
E(exponent)表示N的指数位,位于S和M之间的若干位。对应值e值也可正可负。
 M(mantissa)表示N的尾数位,恰好,它位于N末尾。M也叫有效数字位(sinificand)、系数位(coefficient), 甚至被称作“小数”。

 

在IEEE-754标准下,

  • 11
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值