首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >浮点数中的重要位数与精度损失之间的关系是什么?

浮点数中的重要位数与精度损失之间的关系是什么?
EN

Stack Overflow用户
提问于 2011-08-10 04:17:09
回答 2查看 1.1K关注 0票数 5

所以我一直试图把浮点数中的有效数字数和精度的相对损失联系起来,但我似乎无法理解。我之前读过一篇文章,上面说要做以下事情:

  1. 将浮点数设置为2147483647。你会发现它的价值实际上是2147483648。
  2. 从浮点数中减去64,您将看到操作是正确的。
  3. 从浮点数减去65,你会看到你现在有2147483520,这意味着它实际上减去了128个。

那么,当有10个有效数字时,为什么是128呢?我理解如何存储浮点数(1位表示符号,8位表示指数,23位表示尾数),并理解如果假设所有整数都会自动在浮动数据结构中找到精确的归属,那么将如何丢失精度,但我不知道128来自何处。我的直觉告诉我,我在正确的轨道上,但我希望有人可以为我澄清这一点。

我最初认为,可能的浮点数之间的距离是2^ (n-1),其中n是有效数字的数目,但这不成立。

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-08-10 20:08:25

两个相邻浮点数之间的“距离”为2^(1-n+e),其中e是尾数的真指数,n是尾数(AKA的意义)。存储的指数不是真实的指数,而是有偏差的。对于IEEE-754浮点数,这是127 (对于规范化的数字)。所以,正如彼得·O所说,距离取决于指数。

票数 3
EN

Stack Overflow用户

发布于 2011-08-10 04:24:59

两个浮点数之间的距离取决于指数。指数越小,一个浮点数与下一个浮点数的差值就越小。其次要考虑的是,在浮点数中存储的指数是二进制指数,而不是十进制指数,因此在浮点数情况下,十进制精度比数字的二进制精度更重要。本文件的图9.1很好地解释了这个概念。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7005850

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档