double(またはfloat)として表現できる(連続した)整数の正確な範囲はどれくらいですか?私が尋ねる理由は、精度が低下するときにこのような質問に興味があるからです。
あれは
- double(またはfloat)として正確に表現できない最小の正の整数は何
mですか?m+1 - double(またはfloat)として正確に表現できない
-nような最大の負の整数は何ですか?-n-1(上記と同じ場合があります)。
これは、-nとの間のすべての整数がm正確な浮動小数点表現を持っていることを意味します。私は基本的に[-n, m]フロートとダブルの両方の範囲を探しています。
スコープを標準のIEEE75432ビットおよび64ビット浮動小数点表現に制限しましょう。floatの精度は24ビット、doubleの精度は53ビット(どちらも先頭のビットが非表示)であることはわかっていますが、浮動小数点表現の複雑さのために、これに対する信頼できる答えを探しています。手を振らないでください!
(理想的な答えは、から0までのすべての整数mが表現可能であることを証明しますが、そうでm+1はありません。)