float_t, double_t
来自 cppreference.cn
定义于头文件 <math.h> |
||
typedef /* implementation-defined */ float_t |
(since C99) | |
typedef /* implementation-defined */ double_t |
(since 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) |
指定所有算术运算的精度 (宏常量) |