Java の浮動小数点および倍精度数値の有効桁
Java の浮動小数点 (float) と倍精度 (double) ) データ型はバイナリ表現を使用して実数を表します。 2 進数と有効数字の関係を理解することは、精度に敏感なアプリケーションにとって非常に重要です。
Float および Double の 2 進数 (ビット)
この質問は、いくつかの重要な点を強調しています。アスペクト:
浮動小数点および倍精度ビットの割り当て
Float: 32 ビット (4
Double: 64 ビット(8 バイト)、次のように割り当てられます:
重要数字
仮数は、浮動小数点数の小数部を保持します。仮数の有効桁数は次のとおりです。
小数点位置
有効桁数は小数点の位置を決定しません。 指数は、バイナリ表現における小数点の位置を制御します。
暗黙的な先頭 1
仮数のサイズを増やさずに高い精度を達成するには、 float と double の両方で、仮数の先頭に暗黙の 1 が使用されます。これは、仮数の実際の有効桁数が、それに割り当てられたビット数より 1 桁少ないことを意味します (つまり、float の場合は 22 の有効桁、double の場合は 51 桁)。
Non-Exact 10 進数の変換
浮動小数点表現の 2 進数の性質により、すべての 10 進数を変換できるわけではありません正確に表現されること。これにより、特に非常に小さい数値または非常に大きい数値を扱う場合、計算に若干の不正確さが生じる可能性があります。
精度に関する考慮事項
通貨値の正確な保存が必要なアプリケーションの場合(セントなど)、float や long の代わりに、int やlong などの整数型、または BigInteger や BigDecimal などの特殊なクラスを使用することをお勧めします。ダブル。
以上がJava の「float」および「double」データ型の有効桁数は実際には何桁ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。