0.1 微秒误差累积 100 小时,爱国者导弹系统因此拦截失败
Franc0Fernand0 · x · 2026-10-23
作者复盘了爱国者防空系统拦截飞毛腿导弹失败的经典浮点数案例:系统内部时钟每 0.1 秒计数一次,软件将计数乘以 0.1 存入 24 位寄存器。0.1 没有有限二进制表示,寄存器里的值被截断,每次偏差约 0.000000095 秒——单次无关紧要,但电池连续运行约 100 小时、累计 360 万次计数后,计算出的时间已偏差 0.34 秒,系统在错误的位置寻找来袭导弹。
作者借此引出 Polymathic Engineer 第 156 期关于浮点数运算的内容,涵盖浮点数的加法、乘法与比较,核心结论是:单步精度损失通常很小,但序列运算会让误差不断累积;代码每一行都按格式规范工作,系统依然会失败。
「研究」频道最新
- Meta 训练 8B 小模型选工具,胜过 402B 的 Llama-4-Maverick — dair_ai · 2026-10-23
- 研究发现:熵并不能很好追踪思维链中真正重要的信息 — gsarti_ · 2026-10-23
- CT-Tox 用大鼠数据预测人体毒性:排名一致性 0.74,远超跨物种基线 — david_van_dijk · 2026-10-23
- is-lesion:用 TypeSafe Jev 在 HF MRI 数据集上检测脑部病灶 — init0 · 2026-10-23
- Transformer 与哈密顿蒙特卡洛学习笔记开源分享 — aybehrouz · 2026-10-23
- 研究:朴素 RAG 在 7 项长记忆基准中 6 项击败复杂 Agent 记忆系统 — omarsar0 · 2026-10-23