今日の人気記事

  1. 変数の値を出力 - printf 関数
  2. サンプルプログラム集
  3. 数値の桁揃え
  4. continue文 - ループをスキップ
  5. 配列に格納した数値を昇順ソート

浮動小数点数型(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をかけたものです。

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

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