Java|浮動小数点数のfloat型とdouble型の違いとは?

float型とdouble型の違いプログラミングの知識
プログラミングの知識

今回はfloat型double型の違いについてまとめたいと思います。

スポンサーリンク

float型とdouble型の違いとは

float型もdouble型も、浮動小数点数を表します。違いとして、値の範囲が挙げられます。

float型は32ビット単精度浮動小数点数であることに対し、double型は64ビット倍精度浮動小数になります。よってdouble型の方がより広い範囲の数を扱うことができます。

基本的には小数を扱う場合は、範囲が広いdouble型を使うことが多いです。

float型の変数を宣言する時は、末尾に「f」か「F」を付けてfloat型であることを示す必要があります。

//float型の変数宣言
float num = 1.0f;

2つの型の範囲

float型とdouble型の範囲をそれぞれ示します。

ビット数範囲
float32(4バイト)約±3.4×(10の38乗)~約±1.4×(10の-45乗)
double64(8バイト)約±1.8×(10の308乗)~約±4.9×(10の-324乗)

float型とdouble型を比べると、double型の方が取り扱う範囲が格段に広いことがわかります。

範囲も広いことから、基本的には小数はdouble型が使われています。

サンプルコードと出力結果

実際にそれぞれの値の範囲をサンプルコードで出力してみましょう。

サンプルコードを以下に示します。

public class DoubleFloat_maxmin {

	public static void main(String[] args) {
		
		// double型の最大値と最小値
		System.out.println(Double.MAX_VALUE);
      System.out.println(Double.MIN_VALUE);

		// float型の最大値と最小値
		System.out.println(Float.MAX_VALUE);
      System.out.println(Float.MIN_VALUE);
 
	}

}

サンプルコードの出力結果を以下に示します。

1.7976931348623157E308 //double
4.9E-324
3.4028235E38 //float
1.4E-45

先ほどの表と同じ結果が出力されました。

まとめ

この記事で紹介したことのまとめです。

ポイント
  • float型とdouble型は値の範囲がことなる
  • float型よりdouble型の方が値の範囲が広い

以上がfloat型とdouble型の違いについてでした。

スポンサーリンク
Dim雑記
タイトルとURLをコピーしました