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

IEEE-754单精度表示的最大绝对误差与相对误差求解

IEEE-754单精度浮点数的最大绝对误差与相对误差解析

归一化浮点数的基本表示

IEEE-754单精度归一化浮点数的结构为:

  • 符号位:1bit(0表示正,1表示负)
  • 指数位:8bit(偏移量为127,实际指数值 = 指数位二进制值 - 127,范围是-126到+127)
  • 尾数位:23bit(隐含最高位的1,因此尾数实际表示为 1.f,其中f是23bit的二进制小数)

对应的数值公式为:
value = (-1)^sign × (1 + significand) × 2^(exponent)


最大绝对误差

绝对误差是真实值与浮点数表示值的差值的绝对值,其最大值取决于舍入方式和数值的量级:

  1. 默认就近舍入(Round to Nearest, Ties to Even)
    相邻两个归一化浮点数的间距为 2^(e-23)(其中e是当前数的实际指数值),因为尾数最低位的权重是2^-23,乘以2^e后得到间距。
    就近舍入的最大误差是间距的一半,即:
    max_absolute_error = 2^(e-24)
    例如,当指数e=0时(数值范围在[1,2)),最大绝对误差为2^-24 ≈ 5.96e-8。

  2. 截断舍入(向0舍入)
    若直接舍去尾数后的所有额外位,最大误差等于相邻浮点数的间距,即:
    max_absolute_error = 2^(e-23)
    此时当e=0时,最大绝对误差为2^-23 ≈ 1.19e-7。

注意:绝对误差与数值的指数e正相关,数值越大,绝对误差越大。


最大相对误差

相对误差是绝对误差与真实值绝对值的比值,公式为:
relative_error = |真实值 - 表示值| / |真实值|

就近舍入下的最大相对误差

对于归一化浮点数,真实值x满足 2^e ≤ |x| < 2^(e+1),结合就近舍入的最大绝对误差2^(e-24),可得:
max_relative_error ≤ 2^(e-24) / 2^e = 2^-24 ≈ 5.96e-8
这个值是固定的,与指数e无关,因为绝对误差和真实值的量级同比例变化。

截断舍入下的最大相对误差

若采用截断舍入,最大绝对误差为2^(e-23),真实值最小为2^e,因此:
max_relative_error ≤ 2^(e-23) / 2^e = 2^-23 ≈ 1.19e-7


对您疑问的解答

  1. 关于无穷等比数列求和得到2^-23
    这个结果对应的是截断舍入的最大误差:当真实值的尾数部分在23位之后全为1时,截断后丢失的数值是2^-24 + 2^-25 + ...,这是首项为2^-24、公比为1/2的无穷等比数列,求和结果为2^-23,这是截断舍入下的最大绝对误差(针对e=0的情况)。但IEEE-754默认采用就近舍入,此时最大误差是这个值的一半。

  2. 相对误差公式的正确性
    您提到的((真实值-给定值)/真实值)×100是相对误差的百分比形式,公式本身是正确的,但需要注意取绝对值(误差是绝对值),且通常我们关注的是相对误差的上限,而非具体某个数的误差。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 00:20:29