0
は、数値的安定性に少し遊んで、これが分かって:なぜこのpython数値エラーが起こっていますか?
>>> sum([1e4,1e20,-1e20])
16384.0
を任意のアイデアを、なぜこの出来事はありますか?
は、数値的安定性に少し遊んで、これが分かって:なぜこのpython数値エラーが起こっていますか?
>>> sum([1e4,1e20,-1e20])
16384.0
を任意のアイデアを、なぜこの出来事はありますか?
Pythonの浮動小数点表現では、十桁の有効数字がサポートされていないため、最初の2つの数字を正確に集計することはできません(16桁の数字をサポートしています。 Pythonは、仮数の最下位部分の1ビットで答えを近似しています。
3番目の数値を追加した後の回答と予想される回答の差は、中間結果の表現におけるエラーを表します。その減算の後、仮数部のその1ビットはすべて残されます。指数が正規化されると、16384が残されます。これは2つのヒントの力で、何が起こっているのかを知ることができます。
浮動小数点数が不正確なのはなぜですか?(http://stackoverflow.com/questions/21895756/why-are-floating-point-numbers-inaccurate) – Kevin
浮動小数点数が壊れていますか?](http://stackoverflow.com/questions/588004/is-floating-point-math-broken) –