ホームページ > Java > &#&チュートリアル > Java の「float」および「double」データ型は、小数点以下何桁の精度を提供しますか?

Java の「float」および「double」データ型は、小数点以下何桁の精度を提供しますか?

DDD
リリース: 2024-12-16 07:29:11
オリジナル
414 人が閲覧しました

How Many Decimal Digits of Precision Do Java's `float` and `double` Data Types Offer?

Java の浮動小数点型の 2 進精度を理解する

float や double などの浮動小数点データ型の 2 進精度、表現できる有効桁数を決定します。

float:

float データ型は、次のように割り当てられた 32 の 2 進数 (ビット) で構成されます:

  • 23 ビット仮数 (仮数)。実際の値
  • 8 ビットを表します。小数点の位置を制御する指数
  • 符号用の 1 ビット

したがって、float の 10 進数の精度は約 7 桁です。

double:

double データ型には 64 個の 2 進数があります(ビット) は次のように配分されます:

  • 仮数に 52 ビット、10 進数 16 桁までの精度を提供
  • 指数に 11 ビット
  • 1 ビット記号

に相当する 10 進数と精度

仮数と指数は 2 進数で格納されますが、浮動小数点型で表現される実際の数値は 10 進数で表現されます。ただし、2 進数から 10 進数への変換は必ずしも正確であるとは限りません。したがって、一部の 10 進数は、float または double を使用して正確に格納できません。

例外と考慮事項:

0.5、0.25、0.75、0.125 などの特定の値。はバイナリで正確に保存できるため、正確な 10 進数と同等になります。ただし、0.1 のような値は、仮数の精度が限られているため正確に表すことができません。

通貨値を扱う場合など、正確な 10 進数表現が不可欠な場合は、int などのデータ型を使用することをお勧めします。 float または double の代わりに、long、BigInteger、または BigDecimal を使用します。

以上がJava の「float」および「double」データ型は、小数点以下何桁の精度を提供しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート