4

倍精度浮動小数点数の計算機イプシロンは2^-53であると言う人もいれば、他の(より一般的には)2^-52と言う人もいます。私は、1以外の整数を使用してマシンの精度を推定し、上下から(matlabで)アプローチすることをめちゃくちゃにして、結果として両方の値を取得しました。実際に両方の値を観察できるのはなぜですか?常に2^-52前後のイプシロンを生成するはずだと思いました。

4

3 に答える 3

7

1「マシン イプシロン」という用語には固有のあいまいさがあるため、これを修正するために、通常、 と次に大きい表現可能な数の差であると定義されます。(この数値は、実際には (偶然ではなく) バイナリ表現を文字通り 1 ずつインクリメントすることによって取得されます。)

IEEE754 64 ビット浮動小数点数には 52 の明示的な仮数ビットがあるため、暗黙の先頭を含めると 53 になり1ます。したがって、連続する 2 つの数字は次のようになります。

1.0000  .....  0000
1.0000  .....  0001
  \-- 52 digits --/

したがって、両者の差は 2 -52です。

于 2011-11-03T13:06:55.053 に答える
2

それはあなたがどちらの方向に丸めるかによります。

1 + 2^-53はとのちょうど中間に1あり1 + 2^-52、倍精度浮動小数点で連続しています。したがって、切り上げると1とは異なります。切り捨てると、1になります。

于 2011-11-03T13:05:30.733 に答える