小数を含む値の加算を行うと、結果が意図した通りにならない


Pythonを学び始めたばかりなのですが、簡単な計算結果が正しくで出力されません。正確な計算にはなにか設定から間違えているのでしょうか。

[code]

    0.1 + 8.2
    
    8.299999999999999
    
[/code]




コンピュータ内の信号は `0` と `1` の組み合わせで構成されているということはご存じかと思いますが小数点数についてもそうです。 十進数の `0.1`
を二進数で表そうとすると `0.0001100110011001100...` と無限に続きます。
いわゆる[循環小数](https://ja.wikipedia.org/wiki/%E5%BE%AA%E7%92%B0%E5%B0%8F%E6%95%B0)です。
もちろんコンピュータ内での表現は有限の桁数しかありませんから完璧に表現することは出来ません。
計算の元になる値がそもそも正確に表現できていないわけで、これは[入力誤差](https://ja.wikipedia.org/wiki/%E6%95%B0%E5%80%A4%E8%A7%A3%E6%9E%90#.E5.85.A5.E5.8A.9B.E8.AA.A4.E5.B7.AE)と呼ばれる現象です。
もちろんこの誤差は計算結果にも伝播します。

[二進化十進表現](https://ja.wikipedia.org/wiki/%E4%BA%8C%E9%80%B2%E5%8C%96%E5%8D%81%E9%80%B2%E8%A1%A8%E7%8F%BE)などの工夫で誤差を抑えることは出来ますし、それを補助するライブラリもあるのですが……。
数値計算の精度については何か設定をしておけば問題なしというわけではなく諸々の事情が絡み合うので端的に説明することは出来ません。

Wikipedia
の[誤差](https://ja.wikipedia.org/wiki/%E8%AA%A4%E5%B7%AE)の項などは学習のとっかかりとしては有用かもしれません。

