Python数学是错误的

Python math is wrong

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
Python rounding error with float numbers

1
2
3
4
5
6
7
8
9
10
11
12
13
Python 2.7.3 (v2.7.3:70274d53c1dd, Apr  9 2012, 20:52:43)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type"copyright","credits" or"license()" for more information.
>>> 4.2 - 1.8
2.4000000000000004
>>> 1.20 - 1.18
0.020000000000000018
>>> 5.1 - 4
1.0999999999999996
>>> 5 - 4
1
>>> 5.0 - 4.0
1.0

为什么python的数学错误?


你在计算机科学上已经达到了一个新的水平,而且你已经长大了。

因此,您现在已经为下一步做好了准备。我本人已获英国外交部授权向您透露以下绝密文件。古人先理解它,然后把它破译出来,现在,你也一样!

浮点引导

小心对待此文档!只有和你认识的人分享这个,你才能得出同样令人困惑的结论!

Moderator's Note

This answer is not representative of the expected quality standards on Stack Overflow. However, it has unexpectedly developed a life of its own and is solely preserved for historical significance now.


要获得有关浮点运算如何工作的极其严格的指南,请完成有关如何计算答案中错误的大小的说明,您需要:

每一个计算机科学家都应该知道什么是浮点运算

一旦你读过这篇文章,你就应该去寻找8087的注释,因为它很难实现IEEE754,这会给你的生活带来新的令人兴奋的问题。