【问题标题】:Range of floating-point number浮点数范围
【发布时间】:2016-05-21 05:56:10
【问题描述】:

我正在阅读“每个计算机科学家都应该了解的浮点运算知识”,但遇到了一些我不明白的东西。论文断言,对于给定的 B 和 E(基数和指数),归一化浮点数的最大值是 B x B^E,最小值是 B^E。我不明白它的最大部分。

让我们以 B=10 P=3 和 E=4 的情况为例。这个数字可以取的最小值是 1.00 x 10^4,等于 10^4 (B^E)。最大值为 9.99 x 10^4,接近 B x B^E 但并不完全相等。论文没有提到任何近似值,所以我假设我做错了什么。谁能解释为什么最大值是 B x B^E

【问题讨论】:

  • 您能指出您正在查看的论文的特定部分吗?论文中断言的确切措辞是什么?
  • @Mark Dickinson web.cse.msu.edu/~cse320/Documents/FloatingPoint.pdf 第 177 页(pdf 中的 7 个),第一句话。在谈论超出范围的实数时,也间接在第 175 页(pdf 中的 5):“不太常见的情况是实数超出范围,即其绝对值大于 β×βemax 或小于 1.0 × βemin"

标签: floating-point floating-accuracy ieee-754 fpu


【解决方案1】:

您必须在上下文中查看它。该部分正在讨论通过最接近的浮点表示来近似数字时的相对误差。有些数字更接近 B·B^E 而不是 B·B^E - ulp(B^E),这些数字将转换为 B·B^E。使用下一个指数分析错误将是一个问题,因为源编号会超出范围并且 ulp 会不同。在闭区间[B^E, B·B^E]内分析更有意义。

例如,对于 B=10、P=3、E=4,数字 9.996·10^4 比 9.99·10^4 更接近 10.00·10^4,并且使用 0.01·10 的 ulp ^5 进行错误分析是错误的,因为 9.996·10^4 与 [10^5, 9.99·10^5] 属于不同的区间。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-11-12
    • 1970-01-01
    • 2015-06-09
    • 1970-01-01
    • 2021-02-25
    • 1970-01-01
    • 2010-12-14
    相关资源
    最近更新 更多