浮动时舍入错误

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

  • 舍入到最近:RN(x)是最接近x的浮点数。
  • 向下舍入:RD(x)是小于或等于x的最大浮点数。
  • 向上取整:RD(x)是大于或等于x的最小浮点数。
  • 向零舍入:RZ(x)是与x最接近的浮点数,幅度不大于x,
  • 如果在向上舍入时执行一些计算时会获得较大的绝对舍入误差(接近理论界限),那么这是否意味着如果使用四舍五入来执行相同的计算,则误差会很小?

    我想澄清我的问题:

    假设我们需要用带浮点边界的区间运算来近似x的值,即计算a和b以使a <= x <= b。

    例如,假设x = x1 + x2 + ... + xn,其中x1,x2,...,xn是有限正浮点数。

  • 首先,通过舍入来计算a:a = RD(x1 + x2 + ... + xn)。
  • 然后,通过四舍五入来计算b:b = RU(x1 + x2 + ... + xn)。
  • 接下来,假设我们知道这一点

    x - a <= EPS,

    还有那个

    b - x <= EPS,

    其中x是确切的总和。

    哪一个上限对[a,b]区间的长度有效:ba <= EPS或ba <= 2 EPS?


    是。

    假设精确的数学结果x落在两个有限的可表示值a和b之间,其中a <b。 错误的最小上界是b-a。 让e是四舍五入时的误差(因此e是b-x),并且让它接近b-a。 那么当向下舍入时的误差是b-a-e,所以它相对于b-a很小。

    如果a和b不是有限的,则:

  • b是+∞,四舍五入时的误差是无限的,而四舍五入时的误差是有限的,因此相对较小,或
  • a是-∞,四舍五入时的误差是有限的,而四舍五入时的误差是无限的。
  • 在最后一种情况下,四舍五入时的误差在您定义的意义上不会很大,因为它必须是有限的,因此在这种情况下无法接近理论界限,即∞。 所以在这段时间内没有符合你的前提条件的结果。

    链接地址: http://www.djcxy.com/p/15013.html

    上一篇: Rounding error in floating

    下一篇: Understanding ulps in catastrophic cancellation