浮点算术中的舍入误差

时间:2018-03-22 21:16:27

标签: floating-point rounding ieee-754 rounding-error

IEEE-754浮点运算中有几种舍入模式:

  • 舍入到最接近:RN(x)是最接近x的浮点数。
  • 向下舍入:RD(x)是小于或等于x的最大浮点数。
  • 向上舍入:RD(x)是大于或等于x的最小浮点数。
  • 向零舍入:RZ(x)是与x最接近的浮点数,其大小不大于x,

如果在使用向上舍入执行某些计算时获得较大的绝对舍入误差(接近理论界限),这是否意味着如果使用<执行相同的计算,则误差将很小em>向下舍入?

我想澄清一下我的问题:

假设我们需要使用带有浮点边界的区间运算来近似 x 的值,即计算数字 a b 这样 a&lt; = x&lt; = b

例如, x = x1 + x2 + ... + xn ,其中 x1,x2,...,xn 是有限正浮点数。< / p>
  1. 首先, a 计算为四舍五入: A = RD(X1 + X2 + ... + xn)映射
  2. 然后,b计算四舍五入: B = RU(X1 + X2 + ... + xn)映射
  3. 接下来,假设我们知道

    x - a&lt; = EPS,

    还有那个

    b - x&lt; = EPS,

    其中 x 是确切的总和。

    哪个上限对于[ a,b ]区间的长度有效: ba&lt; = EPS ba&lt; = 2 EPS

1 个答案:

答案 0 :(得分:2)

假设确切的数学结果 x 落在两个有限的可表示值之间, a b a &LT; B'/ em>的。错误的最小上限是 b - a 。将 e 作为舍入时的错误(因此 e b - x ),并让它成为几乎 b - a 。然后向下舍入时的错误是 b - a - e ,因此相对于 b - < EM>一

如果 a b 不是有限的,那么:

  • b 是+∞,向上舍入时的误差是无穷大,而向下舍入时的误差是有限的,因此相对较小,或
  • a 是-∞,舍入时的错误是有限的,而舍入时的错误是无限的。

在最后一种情况下,在你定义的意义上,向上舍入时的误差不会很大,因为它必须是有限的,因此在这种情况下不能接近理论界限,即∞。因此,没有满足您的先决条件的结果存在于此区间内。