C言語/標準ライブラリ/float.h
ナビゲーションに移動
検索に移動
<float.h>はC言語の標準ヘッダーです[1]。
標準の浮動小数点型のさまざまな制限やパラメータに展開するいくつかのマクロが定義されています。
浮動小数点型の特性は、浮動小数点数の表現を記述するモデルと、浮動小数点数に関する情報を提供する値の観点から定義されています[2]。
各浮動小数点タイプのモデルを定義するために、次のパラメータが使用されます。
- 符号 (±1)
- 指数表現の基数または基数 (1 以上の整数)
- 指数(最小 から最大 までの整数
- 精度 (基数で表される符号の桁数)
- より小さい非負の整数(添え字の桁数)
浮動小数点数()は以下のモデルで定義されます。
浮動小数点型は、正規の浮動小数点数(x≠0の場合、f1>0)に加えて、準正規の浮動小数点数など、他の種類の浮動小数点数を含むことができます。浮動小数点型は、正規化浮動小数点数(x≠0、e=emin、f1=0)や非正規化浮動小数点数 数(x ≠ 0, e = emin, f1 = 0)や非正規化浮動小数点数(x ≠ 0, e > emin, f1 = 0)などの非正規浮動小数点数や、無限大や NaNです。NaNは、Not-a-Numberを意味するエンコーディングです。静かなNaNは、ほとんどすべての算術演算において qNaNは、ほとんどすべての算術演算において浮動小数点例外を発生させることなく伝播します。sNaNは、通常、浮動小数点の例外を発生させます。
マクロ
マクロとその意味、値の制約(または制限)を示します。
| マクロ | 意味 | 備考 |
|---|---|---|
| FLT_ROUNDS |
|
|
| FLT_EVAL_METHOD |
|
|
| FLT_HAS_SUBNORM |
|
|
| DBL_HAS_SUBNORM |
|
|
| LDBL_HAS_SUBNORM |
|
|
| FLT_RADIX | 指数表示の基数。 | 前節の |
| FLT_MANT_DIG | float型のFLT_RADIXを基数とした仮数部の桁数 | |
| DBL_MANT_DIG | double型のDBL_RADIXを基数とした仮数部の桁数 | |
| LDBL_MANT_DIG | long double型のLDBL_RADIXを基数とした仮数部の桁数 | |
| FLT_DECIMAL_DIG | float型の仮数部の10進数での桁数 | |
| DBL_DECIMAL_DIG | double型の仮数部の10進数での桁数 | |
| LDBL_DECIMAL_DIG | long double型の仮数部の10進数での桁数 | |
| DECIMAL_DIG | サポートされている最も幅の広い浮動小数点型の仮数部の10進数での桁数 | |
| FLT_DIG | float で正確に表現可能な10進数 | |
| DBL_DIG | ||
| LDBL_DIG | ||
| FLT_MIN_EXP | ||
| DBL_MIN_EXP | ||
| LDBL_MIN_EXP | ||
| FLT_MIN_10_EXP | ||
| DBL_MIN_10_EXP | ||
| LDBL_MIN_10_EXP | ||
| FLT_MAX_EXP | ||
| DBL_MAX_EXP | ||
| LDBL_MAX_EXP | ||
| FLT_MAX_10_EXP | ||
| DBL_MAX_10_EXP | ||
| LDBL_MAX_10_EXP | ||
| FLT_MAX | ||
| DBL_MAX | ||
| LDBL_MAX | ||
| FLT_EPSILON | ||
| DBL_EPSILON | ||
| LDBL_EPSILON | ||
| FLT_MIN | ||
| DBL_MIN | ||
| LDBL_MIN | ||
| FLT_TRUE_MIN | ||
| DBL_TRUE_MIN | ||
| LDBL_TRUE_MIN |
|
脚註
参考文献
- 国際標準化機構/国際電気標準会議 ISO/IEC 9899:2018(en) Information technology — Programming languages — C(2018-07-05)