Skip to content

浮点数(Floating Point)

浮点数是计算机表示小数的一种方式。它使用“符号位 + 指数 + 尾数”的结构来近似表示实数。

为什么会有误差

很多十进制小数在二进制里是无限循环的,例如:

0.1 -> 0.0001100110011... (二进制循环)

因此在计算机里只能近似存储。

javascript
0.1 + 0.2; // 0.30000000000000004

IEEE 754(简述)

现代计算机大多使用 IEEE 754 标准:

  • 单精度:32 位
  • 双精度:64 位(JS 的 Number)

实用建议

  • 不要用 == 直接比较浮点数。
  • 用“误差范围”判断:
javascript
function nearlyEqual(a, b, eps = 1e-10) {
    return Math.abs(a - b) < eps;
}

进一步阅读

浮点数问题常见于金融计算、科学计算。遇到精度问题时,请优先用整数或专门的数值库。

CC-BY 4.0 Licensed