有关 float的一个问题

请教大神们一个问题 :float共32位23位为尾数位根据0舍1入的规则当24位为1的时候第23位要+1这时候float中存储的数会比正确的数大上一些假设float为8000023那么正确的数小上一些为7999986这样有效位数不是6位了嘛

1个回答

所谓有效数字的含义是,真实值和表示值的误差在1/2的N次方之内。(这里N=23)换算成10进制,2的10次方近似10的3次方,大致是6位,其实不是刚好6位。

注意是之内,而不是刚好误差这么多。第23位+1也好,-1也好,对结果的影响肯定在2的23次方-1以内。这就是精度的含义。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问