ジャワではジャワ。
浮動小数点データ型には 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 データ型
これは、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 桁まで得られます。