计算机精度导致各种误差,大数吃小数

如果 p ∗ p^* p∗是p的近似, ∣ p ∗ − p ∣ |p^*-p| ∣p∗−p∣是绝对误差, ∣ p ∗ − p ∣ / ∣ p ∣ |p^*-p|/|p| ∣p∗−p∣/∣p∣是相对误差

舍入误差,就是数据表示精度不足带来的误差

a=0.1234564≈0.123456=fl(a)

b=0.1234546≈0.123455=fl(b)

在上面发生了舍入误差

fl(a)-fl(b)=0.000001

a-b=0.0000018

所以在计算a-b时绝对误差是0.0000008

但是想对误差是0.44

从绝对误差的角度看,差异很小,但是从相对误差的角度来看误差就非常大了

大数吃小数:

如果精度有限可能会发生下面的情况
100000000 + 0.5 = 100000000 100000000+0.5=100000000 100000000+0.5=100000000
100000000 + 0.5 − 100000000 = 0 100000000+0.5-100000000=0 100000000+0.5−100000000=0
( 100000000 + 0.5 − 100000000 ) ∗ 100000000 = 0 (100000000+0.5-100000000)*100000000=0 (100000000+0.5−100000000)∗100000000=0

这和真实结果差了很多,因为精度不够,大数加小数的时候把小数吃掉了,导致后续结果都出现问题,一个办法是交换顺序
100000000 − 100000000 = 0 100000000-100000000=0 100000000−100000000=0
100000000 − 100000000 + 0.5 = 0.5 100000000-100000000+0.5=0.5 100000000−100000000+0.5=0.5
( 100000000 − 100000000 + 0.5 ) − 100000000 = 50000000 (100000000-100000000+0.5)-100000000=50000000 (100000000−100000000+0.5)−100000000=50000000

相关推荐
by————组态6 小时前
Ricon组态系统:物联网时代的连接桥梁
运维·物联网·数学建模·组态·组态软件
weixin_307779137 小时前
2025年中国研究生数学建模竞赛C题:围岩裂隙精准识别与三维模型重构
c语言·数学建模·重构
Cathy Bryant8 小时前
薛定谔方程
笔记·数学建模·高等数学·物理
Figo_Cheung1 天前
Figo以规范势为基本量的规范场论(GPFT):电磁相互作用与宏观量子态的统一框架——揭示:规范势 [特殊字符] [特殊字符] 是电磁相互作用的根本实体
数学建模·量子计算·拓扑学
weixin_307779133 天前
2025年中国研究生数学建模竞赛A题:通用神经网络处理器下的核内调度问题——解决方案与实现
开发语言·人工智能·python·数学建模·性能优化
Allen_LVyingbo3 天前
相干伊辛机在医疗领域及医疗AI领域的应用前景分析
人工智能·数学建模·知识图谱·健康医疗·量子计算
88号技师3 天前
2026年3月一区SCI-B样条曲线优化算法B-spline curves optimizer-附Matlab免费代码
开发语言·算法·数学建模·matlab·优化算法
liuccn4 天前
线性的概念
数学建模
2501_922678434 天前
开学考复现
数学建模
sanshanjianke7 天前
claudecode/opencode 数学插件工具的调用
数学建模·mcp·claudecode·vibe