Namespaces
Variants

Standard library header <float.h>

From cppreference.net

このヘッダは type support ライブラリの一部であり、特にその numeric limits インターフェースを提供します。

マクロ

FLT_RADIX
すべての浮動小数点型の表現で使用される基数(整数の底)
(マクロ定数)
DECIMAL_DIG
(C99)
long double から10進数への変換と、少なくとも DECIMAL_DIG 桁の10進数から long double への逆変換が恒等変換となる:これは long double をシリアライズ/デシリアライズするために必要な10進精度である
(マクロ定数)
FLT_DECIMAL_DIG DBL_DECIMAL_DIG LDBL_DECIMAL_DIG
(C11)
浮動小数点数から10進数への変換とその逆変換が恒等変換となる最小桁数: float / double / long double を少なくとも FLT_DECIMAL_DIG / DBL_DECIMAL_DIG / LDBL_DECIMAL_DIG 桁の10進数で表現し、元の値に戻せる精度。これは浮動小数点値をシリアライズ/デシリアライズするために必要な10進精度である。それぞれ少なくとも 6 , 10 , 10 と定義され、IEEE floatでは 9 、IEEE doubleでは 17 となる(C++の対応物: max_digits10 も参照)
(マクロ定数)
FLT_MIN DBL_MIN LDBL_MIN
float、doubleおよびlong doubleの float double および long double それぞれの正規化された最小正の値
(マクロ定数)
FLT_TRUE_MIN DBL_TRUE_MIN LDBL_TRUE_MIN
(C11)
float、doubleおよびlong doubleの 最小正の値
(マクロ定数)
FLT_MAX DBL_MAX LDBL_MAX
float double および long double の有限最大値
(マクロ定数)
FLT_EPSILON DBL_EPSILON LDBL_EPSILON
1.0 float double long double それぞれの次に表現可能な値との絶対値差
(マクロ定数)
FLT_DIG DBL_DIG LDBL_DIG
テキスト → float / double / long double → テキストの往復変換において、丸めやオーバーフローによる変更なしに保証される10進桁数 (詳細についてはC++の対応機能 digits10 を参照)
(マクロ定数)
FLT_MANT_DIG DBL_MANT_DIG LDBL_MANT_DIG
浮動小数点仮数部に含まれる基数 FLT_RADIX の桁数であり、それぞれ float double および long double において精度を失わずに表現可能な桁数
(マクロ定数)
FLT_MIN_EXP DBL_MIN_EXP LDBL_MIN_EXP
最小の負の整数であり、 FLT_RADIX をその整数より1少ない数で累乗した値が正規化された float double および long double それぞれとなる
(マクロ定数)
FLT_MIN_10_EXP DBL_MIN_10_EXP LDBL_MIN_10_EXP
10のそのべき乗が正規化された float double および long double となる最小の負の整数
(マクロ定数)
FLT_MAX_EXP DBL_MAX_EXP LDBL_MAX_EXP
その数値から1を引いた値を指数とする FLT_RADIX の累乗が有限値として表現可能となる最大の正の整数(それぞれ float double および long double に対応)
(マクロ定数)
FLT_MAX_10_EXP DBL_MAX_10_EXP LDBL_MAX_10_EXP
10のそのべき乗が有限の表現可能な float double および long double となる最大の正の整数
(マクロ定数)
浮動小数点演算の丸めモード
(マクロ定数)
すべての算術演算がどの精度で実行されるかを指定する
(マクロ定数)
FLT_HAS_SUBNORM DBL_HAS_SUBNORM LDBL_HAS_SUBNORM
(C11) (C23で非推奨)
その型がsubnormal( 非正規化数 )をサポートするかどうか:
- 1 – 判定不能、 0 – 存在しない、 1 – 存在する
(マクロ定数)

概要

#define FLT_ROUNDS           /* 定義を参照 */
#define FLT_EVAL_METHOD      /* 定義を参照 */
#define FLT_HAS_SUBNORM      /* 定義を参照 */
#define DBL_HAS_SUBNORM      /* 定義を参照 */
#define LDBL_HAS_SUBNORM     /* 定義を参照 */
#define FLT_RADIX            /* 定義を参照 */
#define FLT_MANT_DIG         /* 定義を参照 */
#define DBL_MANT_DIG         /* 定義を参照 */
#define LDBL_MANT_DIG        /* 定義を参照 */
#define FLT_DECIMAL_DIG      /* 定義を参照 */
#define DBL_DECIMAL_DIG      /* 定義を参照 */
#define LDBL_DECIMAL_DIG     /* 定義を参照 */
#define DECIMAL_DIG          /* 定義を参照 */
#define FLT_DIG              /* 定義を参照 */
#define DBL_DIG              /* 定義を参照 */
#define LDBL_DIG             /* 定義を参照 */
#define FLT_MIN_EXP          /* 定義を参照 */
#define DBL_MIN_EXP          /* 定義を参照 */
#define LDBL_MIN_EXP         /* 定義を参照 */
#define FLT_MIN_10_EXP       /* 定義を参照 */
#define DBL_MIN_10_EXP       /* 定義を参照 */
#define LDBL_MIN_10_EXP      /* 定義を参照 */
#define FLT_MAX_EXP          /* 定義を参照 */
#define DBL_MAX_EXP          /* 定義を参照 */
#define LDBL_MAX_EXP         /* 定義を参照 */
#define FLT_MAX_10_EXP       /* 定義を参照 */
#define DBL_MAX_10_EXP       /* 定義を参照 */
#define LDBL_MAX_10_EXP      /* 定義を参照 */
#define FLT_MAX              /* 定義を参照 */
#define DBL_MAX              /* 定義を参照 */
#define LDBL_MAX             /* 定義を参照 */
#define FLT_EPSILON          /* 定義を参照 */
#define DBL_EPSILON          /* 定義を参照 */
#define LDBL_EPSILON         /* 定義を参照 */
#define FLT_MIN              /* 定義を参照 */
#define DBL_MIN              /* 定義を参照 */
#define LDBL_MIN             /* 定義を参照 */
#define FLT_TRUE_MIN         /* 定義を参照 */
#define DBL_TRUE_MIN         /* 定義を参照 */
#define LDBL_TRUE_MIN        /* 定義を参照 */