You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

向下与向上舍入浮点运算误差:RD(f)与RU(f)差值的界求解

浮点舍入差值的界分析

先直接给结论:|RD(f)-RU(f)|的界是小于2E,而不是E。下面用推导逻辑和具体例子来把这个问题讲透:

数学推导验证

我们可以用三角不等式来拆解两个舍入值的差值:

|RD(f) - RU(f)| = |(RD(f) - f) + (f - RU(f))|

根据三角不等式的基本性质,这个差值必然小于等于两个分项绝对值的和:

|RD(f) - f| + |f - RU(f)|

题目里已经给出|RD(f)-f|<E,|RU(f)-f|<E,而|f-RU(f)|和|RU(f)-f|是完全相等的,代入后就能得到:

|RD(f)-f| + |f-RU(f)| < E + E = 2E

用p=4的十进制浮点系统举例

拿题目补充的精度p=4的十进制浮点系统来举个实际例子:
假设真实值f=1.2345,在这个浮点系统里:

  • 向下舍入的RD(f)=1.234,此时|RD(f)-f|=0.0005
  • 向上舍入的RU(f)=1.235,此时|RU(f)-f|=0.0005

这时候两个舍入值的差值|RD(f)-RU(f)|=0.001,正好是2*0.0005=2E(这里E=0.0005)。就算换一个真实值,比如f=1.23456,RD(f)=1.234,RU(f)=1.235,差值还是0.001;如果我们取E=0.0006,那么|RD(f)-f|=0.00056<E,|RU(f)-f|=0.00044<E,差值0.001也依然小于2*0.0006=0.0012,完全符合小于2E的结论。

从这个极端例子能看出来,差值的上限会无限接近2E,所以界不可能是E,必须是2E。

内容的提问来源于stack exchange,提问作者Konstantin Isupov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 07:58:06