Fortran Coder

查看: 16733|回复: 3
打印 上一主题 下一主题

[求助] 一个小的程序问题(误差积累)

[复制链接]

1963

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1357 元
贡献
574 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

楼主
发表于 2021-3-30 20:18:26 | 显示全部楼层
因为 dz_1 是累加起来的。累加会让误差积累。
你以为 dz 是 0.05 ,其实不是。它可能是 0.0500000007451
累加起来,误差就会越来越大。

而 rrb= k*dz*ct 因为用的乘法,虽然也有误差,但不会积累。

如果你难以理解为什么计算机用二进制不能精确存储 0.05
你可以联想一下,十进制不能精确存储 1/3,但三进制却可以。
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-5-3 06:43

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表