logo

Float Java と Double Java

ジャワではジャワ。

浮動小数点データ型には 2 つのタイプがあります。

  • float データ型
  • double データ型

float と double は両方とも、10 進数値を格納する浮動小数点数を表します。

浮動小数点データ型 価値観 サイズ (ビット)* ストレージ要件 (バイト) デフォルト値 精度 小数点の数字 範囲 正確さ
浮く IEEE 754 浮動小数点 32 4 0.0f シングル 10進数6桁 3.4e-038 ~ 3.4e+038 低い
ダブル IEEE 754 浮動小数点 64 8 0.0d ダブル 10 進数 15 桁 1.7e-308 ~ 1.7e+308 高い

※サイズビットには以下のものが含まれます。

ビット 浮く ダブル
サイン 1 1
指数 8 十一
仮数 23 52

単精度: で構成されています 1つ 符号ビット (S)、 指数ビット (E)、および 23 仮数ビット (M)。

スタックJava

倍精度: で構成されています 1つ 符号ビット (S)、 十一 指数ビット (E)、および 52 仮数ビット (M)。

Float Java と Double Java

float データ型

これは、32 ビットの単精度 IEEE 754 (浮動小数点演算の規格) 浮動小数点数です。これは、10 進数 6 ~ 7 桁の精度が得られることを意味します。 double データ型と比較してメモリ使用量が少ないため、メモリを有効に使用したい場合に使用されます。 float 値を定義するには、接尾辞 f または F を使用する必要があります。そのデフォルト値は 0.0f です。デフォルトでは、Java では浮動小数点数は double として扱われます。

たとえば、浮動小数点数を次のように定義するとします。

 float height = 167.7 

上記の float 変数の宣言ではコンパイル エラーが発生します。接尾辞 f または F を追加することでエラーを修正できます。

 float height = 167.7f or float height = 167.7F 

double データ型

double データ型は、64 ビット倍精度 IEEE 754 浮動小数点数です。これは、10 進数 15 ~ 16 桁の精度が得られることを意味します。 float データ型と比較してより多くのメモリを消費します。 10 進数値を格納するために使用されます。デフォルト値は 0.0d です。接尾辞 d または D を追加することはオプションです。次に例を示します。

カイリー・ジェンナーは何歳ですか
 double price = 987.90D or double price = 987.90d or double price = 987.90 

float データ型と double データ型

double データ型は float データ型よりも正確です。次の表は、float データ型と double データ型の違いをまとめたものです。

基礎 float データ型 double データ型
メモリ それは占有します 4 バイト。 それは占有します 8 バイト。
正確さ その精度は 低い その精度は 高い
精度 続いて 単精度 (6 ~ 7 桁の 10 進数)。 続いて 倍精度 (15 ~ 16 桁の 10 進数)。
使用したキーワード 浮く キーワードは浮動小数点数を定義するために使用されます。 ダブル キーワードは倍精度数値を定義するために使用されます。
ラッパークラス そのラッパークラスは java.lang.Float。 そのラッパークラスは java.lang.Double。
デフォルトのデータ型 Java では、これをデフォルトの浮動小数点数として使用しません。 それは デフォルト 浮動小数点数のデータ型。
データロス あるだろう データ損失なし float を double に変換すると。 あるだろう データロス double を float に変換すると。
用途 どこで使用する必要がありますか 精度が低い が必要であり、ストレージには制約があります。 どこで使用されますか より正確に が必要であり、より高い精度も必要です。
サフィックス それは使用しています F または f 接尾辞として。 float 変数を宣言する場合は、サフィックスを追加することが必須です。 それは使用しています d または D 接尾辞として。 double 変数を宣言する場合、サフィックスの追加はオプションです。
表現 28.96f または 28.96F 12.5 または 12.5D または 12.5日

float と double データ型の類似点

  • 実数は両方のデータ型で表現できます。
  • float と double データ型はどちらも正確ではないため、近似値になります。

Java ではどの浮動小数点データ型を使用する必要がありますか?

double は float よりも正確です。したがって、より正確で正確な結果が必要な場合は、double を使用します。 double を使用するもう 1 つの理由は、数値が float によって提供される範囲に収まらない場合に double を使用することです。 float は double よりも半分のスペースを占有するため、メモリ制限がある場合は float を使用する必要があります。

メモリとスペースの制約がなく、より高い精度が必要な場合は、float よりも double を使用することをお勧めします。メモリに問題があり、16 桁の精度の 10 進数の結果が必要ない場合は、float を使用することをお勧めします。

次の2つ Javaプログラム float データ型と double データ型の違いを明確に示します。

FloatDataTypeExample.java

 public class FloatDataTypeExample { public static void main(String args[]) { float x = 1.0f, y = 3.0f; //defining x and y as float float z = x / y; //divides x by y and stores the result in the variable z System.out.println('x/y = ' + z); //prints the result } } 

出力:

 x/y = 0.33333334 

DoubleDataTypeExample.java

 public class DoubleDataTypeExample { public static void main(String args[]) { double x = 1.0, y = 3.0; //defining x and y as double double z = x / y; //divides x by y and stores the result in the variable z System.out.println('x/y = ' + z); //prints the result } } 

出力:

 x/y = 0.3333333333333333 

上記の 2 つの例から、double データ型は倍精度数値を格納するためにより多くのメモリを必要とし、10 進数 16 桁までのより正確な結果が得られることは明らかです。一方、float データ型は単精度数値を格納するためのスペースが少なくて済み、結果は小数点以下 6 桁まで得られます。