わかりやすくするために、IEE 754 floatを実装する言語を使用していて、次のように宣言したとします。
float f0 = 0.f;
float f1 = 1.f;
...そしてそれらをプリントアウトすると、0.0000と1.0000が正確に得られます。
しかし、IEEE 754は実際の線に沿ったすべての数値を表すことができません。ゼロに近い、「ギャップ」は小さいです。遠ざかるにつれて、ギャップは大きくなります。
だから、私の質問は、IEEE 754 floatの場合、正確に表現できない最初の(ゼロに最も近い)整数ですか?私は今のところ、32ビットの浮動小数点数にのみ関心がありますが、誰かが64ビットの浮動小数点数を教えてくれれば、その答えを聞きたいと思います。
私は、これが2計算のような単純なようであろうと思っbits_of_mantissaに 1を加算し、bits_of_mantissaが何ビット標準露出させます。私のマシン(MSVC ++、Win64)で32ビットの浮動小数点に対してこれを行いましたが、問題はないようです。