float_t, double_t
From cppreference.com
| ヘッダー <math.h> で定義 |
||
| typedef /* 実装依存 */ float_t |
(C99以降) | |
| typedef /* 実装依存 */ double_t |
(C99以降) | |
型 float_t および double_t は、それぞれ float および double よりも幅が広い浮動小数点型であり、かつ double_t は float_t よりも幅が広いです。 FLT_EVAL_METHOD の値が float_t および double_t の型を決定します。
FLT_EVAL_METHOD
|
説明 |
| 0 | float_t および double_t は、それぞれ float および double と等価です。 |
| 1 | float_t と double_t の両方が double と等価です。 |
| 2 | float_t と double_t の両方が long double と等価です。 |
| その他 | float_t と double_t の両方が実装定義です。 |
[編集] 例
このコードを実行
#include <float.h> #include <math.h> #include <stdio.h> #define SHOW(expr) printf("%s = %d\n", #expr, (int)(expr)) int main() { SHOW(FLT_EVAL_METHOD); SHOW(sizeof(float)); SHOW(sizeof(float_t)); SHOW(sizeof(double)); SHOW(sizeof(double_t)); }
実行結果の例
FLT_EVAL_METHOD = 1 sizeof(float) = 4 sizeof(float_t) = 8 sizeof(double) = 8 sizeof(double_t) = 8
[編集] 参考文献
- C23標準 (ISO/IEC 9899:2024)
- 7.12 Mathematics <math.h> (p: TBD)
- C17標準 (ISO/IEC 9899:2018)
- 7.12 Mathematics <math.h> (p: TBD)
- C11標準 (ISO/IEC 9899:2011)
- 7.12 Mathematics <math.h> (p: 231)
- C99標準 (ISO/IEC 9899:1999)
- 7.12 Mathematics <math.h> (p: 212)
[編集] 関連項目
| (C99) |
すべての算術演算がどの精度で行われるかを指定します (マクロ定数) |