float_t, double_t
From cppreference.net
Common mathematical functions
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
ヘッダーで定義
<math.h>
|
||
|
typedef
/* implementation-defined */
float_t
|
(C99以降) | |
|
typedef
/* implementation-defined */
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 に等価 |
| other | 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 数学 <math.h> (p: TBD)
- C17規格 (ISO/IEC 9899:2018):
-
- 7.12 数学 <math.h> (p: 未定)
- C11規格 (ISO/IEC 9899:2011):
-
- 7.12 数学 <math.h> (p: 231)
- C99規格 (ISO/IEC 9899:1999):
-
- 7.12 数学 <math.h> (p: 212)
関連項目
|
(C99)
|
すべての算術演算が実行される精度を指定する
(マクロ定数) |