|
1
1
这是浮点算术的一个常见问题,无论是二进制还是十进制:除法可能是不精确的。所以当你必须做乘法和除法时,如果你先做除法,结果是不精确的,当你以后做乘法时,你会把第一个结果的误差乘以。 在您的示例中,精确结果为182.125,正好在要四舍五入到182.13的边界处。首先进行除法时,29.14/12的精确结果是2.428333。。。 对于16位小数64,四舍五入为2.428333333333333,再乘以75,得到182.12499999997,四舍五入为182.12 那么,我们可以在这里做些什么:
但无论如何,一旦没有精确的结果,就有可能出现舍入错误,这是浮点计算固有的。 |
|
|
BlurKid · R中for循环时结果的奇怪差异 1 年前 |
|
|
Dakolas · 对python十进制库感到困惑 2 年前 |
|
|
IIXenon · for循环的printf仅跳过0[已关闭] 2 年前 |
|
|
pmor · 如何计算转换规范%.*f的精度以保持浮点值的精度? 2 年前 |
|
|
Dessie · 如何提高此python代码中的计算精度 2 年前 |