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