今日の人気記事

  1. printf関数の変換指定子

  2. 入力した数値の桁数を表示する

  3. 入力した2つの数値の掛け算・割り算する

浮動小数点数型(float型 double型)の最大値と最小値 - float.h

当ページのリンクには広告が含まれています。

スポンサーリンク

ここでは「float.h」を使って、浮動小数点数型の最大値と最小値、浮動小数点で表現できる最小値を確認する方法を紹介します。

float.h

「float.h」ファイルには、以下のように浮動小数点数型の最大値、浮動小数点で表現できる最小値……などが定義されています。

FLT_MINfloat型の浮動小数点で表現できる最小値
FLT_MAXfloat型の最大値
DBL_MINdouble型の浮動小数点で表現できる最小値
DBL_MAXdouble型の最大値
LDBL_MINlong double の浮動小数点で表現できる最小値
LDBL_MAXlong double の最大値

それでは実際に以下のプログラムで、浮動小数点数型の最大値と最小値、浮動小数点で表現できる最小値を確認してみましょう。

#include <stdio.h>
#include <float.h>

int main(void) {

  /* float */
  printf("float の最大値 = %e\n", FLT_MAX);
  printf("float の最小値 = %e\n", -FLT_MAX);
  printf("float の浮動小数点で表現できる最小値 = %e\n\n", FLT_MIN);
  /* double */
  printf("double の最大値 = %e\n", DBL_MAX); 
  printf("double の最小値 = %e\n", -DBL_MAX); 
  printf("double の浮動小数点で表現できる最小値 = %e\n\n", DBL_MIN);

  /* long double */
  printf("long double の最大値 = %Le\n", LDBL_MAX);
  printf("long double の最小値 = %Le\n", -LDBL_MAX);
  printf("long double の浮動小数点で表現できる最小値 = %Le\n\n", LDBL_MIN);

  return 0;
}

※ 最小値は最大値にマイナスを付けた値です。

実行結果です。

float の最大値 = 3.402823e+38
float の最小値 = -3.402823e+38
float の浮動小数点で表現できる最小値 = 1.175494e-38

double の最大値 = 1.797693e+308
double の最小値 = -1.797693e+308
double の浮動小数点で表現できる最小値 = 2.225074e-308

long double の最大値 = 1.189731e+4932
long double の最小値 = -1.189731e+4932
long double の浮動小数点で表現できる最小値 = 3.362103e-4932

※ 最小値は最大値に -1をかけたものです。

お使いの環境で利用できる最大値と最小値を確認してみましょう。

基本構文 の人気記事

  1. printf関数の変換指定子

  2. 配列の要素を出力(表示)する

  3. scanf関数 - スキャン集合を使った文字列 - ホワイトスペース

  4. #include <stdio.h> と printf 関数 - プログラムの基本

  5. 変数 - 予約語

  6. 数学関数と数学定数 - math.h

  7. 条件演算子(3項演算子)「? :」

  8. int main(void) - プログラムの基本

  9. scanf 関数の変換指定子

  10. else if文 - 複数の条件式 - 条件分岐

関連記事(一部広告含む)