6

重複の可能性:
浮動小数点数を使用した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

Pythonが数学を間違えているのはなぜですか?

4

2 に答える 2

366

あなたはコンピュータサイエンスの新しいレベルに到達し、成人しつつあります。

したがって、これで次のステップの準備が整いました。私はBDFL自身から、次のスーパーシークレット文書をあなたに開示することを許可されています。古代人はそれを理解し、最初にそれを解読しました、そして今、あなたもそうします!

浮動小数点ガイド

このドキュメントは慎重に扱ってください。同じ不可解な結論に達したことがわかっている人とだけこれを共有してください!


モデレーターのメモ

この回答は、StackOverflowで期待される品質基準を表すものではありません。しかし、それは予想外に独自の生活を発展させ、現在は歴史的意義のためにのみ保存されています。

于 2012-08-14T11:04:04.170 に答える
54

浮動小数点演算がどのように機能するかについての非常に厳密なガイドについては、回答のエラーの大きさを計算する方法に関する完全な手順が必要です。

すべてのコンピューター科学者が浮動小数点演算について知っておくべきこと

それを読んだら、特に8087に関するメモを探す必要があります。これは、IEEE 754の実装が不十分であり、これがあなたの生活に新たな刺激的な問題を引き起こす可能性があるためです。

于 2012-08-14T12:13:22.947 に答える