float_t, double_t
來自 cppreference.com
定義於標頭檔案 <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 |
其他 | 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: 待定)
- 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) |
指定所有算術運算的精度 (宏常量) |