Python数学是错误的

gad*_*tmo 7 python math numbers

可能重复:
带有浮点数的Python舍入错误

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
Run Code Online (Sandbox Code Playgroud)

为什么Python的数学错误?

Mar*_*ers 360

你已经达到了计算机科学的新水平,而你已经成熟了.

因此,您现在已准备好进行下一步.我已获得BDFL 自己的授权,向您透露以下超级秘密文件.古人理解它并先破译它,现在,你也一样!

浮点指南

请小心处理此文档!只与你认识的人分享这个令人困惑的结论!


主持人的说明

此答案不代表Stack Overflow的预期质量标准.然而,它出乎意料地发展了自己的生命,现在只保留了历史意义.

  • 你能否总结一下你所包含的链接?链接只有答案通常不赞成. (7认同)
  • @TankorSmash:你在这里错过了重点.请注意,任何到达此处的匿名访问者(使用Google搜索"Python数学错误")都会被重定向到已经发布的规范帖子,其中所有信息都已存在.这篇文章从来不是一个严肃的答案,它已经开始了自己的生活.就像[使用正则表达式回答解析HTML](http://stackoverflow.com/a/1732454)一样,这不是完全不同的东西.总结相关内容将实质上改变这种性质. (7认同)
  • 什么是BDFL.?! (6认同)
  • @Sid:http://en.wikipedia.org/wiki/Benevolent_dictator_for_life (5认同)
  • @MartijnPieters这是一个广泛的主题肯定,但它有利于网站有一些链接的上下文.我的意思是,其他79人可能是错的,但我和他们一起说这个答案应该改进. (3认同)

Ric*_*ell 53

有关浮点运算如何工作的严格指导,有关如何计算答案中错误的大小的完整说明,您需要:

每个计算机科学家应该知道的浮点运算

一旦你读过,你应该去找在8087特别指出,因为它实现了IEEE 754很差,这可能会导致在你的生活新的令人兴奋的问题.

  • IEEE 754在8087之后开始生效.批评8087未达到发明时不存在的标准似乎很苛刻! (18认同)
  • 8087被用作IEEE754的基础.80387及其后继者随后实施了IEEE 754. (2认同)