今日の人気記事

  1. 入力した自然数が素数かどうかを判定する
  2. printf関数の変換指定子
  3. 入力した文字がアルファベットの小文字か大文字かを判定する
  4. 配列に格納した数値を昇順ソートする
  5. 変数の値を出力 - printf 関数

浮動小数点数型(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. 変数の値を出力 - printf 関数
  4. 配列の要素を出力(表示)
  5. break文 - ループから抜ける
  6. continue文 - ループをスキップ
  7. 数値の桁揃え
  8. 条件演算子(3項演算子)「? :」
  9. #include <stdio.h> と printf 関数 - プログラムの基本
  10. int main(void) - プログラムの基本

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