0

可能重复:
为什么十进制数不能用二进制精确表示?

我有一个问题,正在解决一个单纯形问题,而在几次迭代中,在 1 次迭代中,值变成了 .400000,现在我将这个值乘以 100 以获得 40.000000。现在用 40 减去这个值,但是解决方案出来是 .000001。请帮我解决这个问题,我无法弄清楚这个值是如何变成 .000001 的?由于这个 .000001 在检查值时出现问题,即我正在与 0 进行比较,但编译器将其视为大于 0 的值,并且得到错误的答案。我该如何纠正这个错误?

4

1 回答 1

2

它与浮点的机器精度有关。在这里阅读它:http ://en.wikipedia.org/wiki/Floating_point#Machine_precision

于 2011-04-30T20:51:16.320 回答