誰かが私に次の出力を説明できますか?浮動小数点の精度と関係があることは知っていますが、マグニチュードの順序(差1e308)には驚かされます。
0:高精度
> 1e-324==0
[1] TRUE
> 1e-323==0
[1] FALSE
1:非常に不正確
> 1 - 1e-16 == 1
[1] FALSE
> 1 - 1e-17 == 1
[1] TRUE
Rは、IEEE754倍精度浮動小数点数を使用します。
浮動小数点数は、ゼロに近いほど密度が高くなります。これは、非常に広い範囲で正確に計算するように設計されているためです(お気づきのとおり、約16桁の10進数に相当します)。
おそらく、絶対精度が均一な固定小数点システムを期待していました。実際には、固定小数点は無駄であるか、各中間計算の範囲を事前に慎重に見積もる必要があり、それらが間違っていると劇的な結果を招きます。
正の浮動小数点数は、概略的に次のようになります。
+-+-+-+-+-+-+ ---- + ---- + ---- + -------- + -------- +- ------- + -0
最小の正の正規倍精度数は、2の最小指数の累乗です。1に近い場合、倍精度浮動小数点数はすでにかなり広く分散しています。1からその下の番号までの距離は2-53であり、1からその上の番号までの距離は2-52です。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加