float_t, double_t
来自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 都等价于 longdouble |
其他 | 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(void){ 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> (第 TBD 页)
- C17 标准(ISO/IEC 9899:2018):
- 7.12 Mathematics <math.h> (第 TBD 页)
- C11 标准(ISO/IEC 9899:2011):
- 7.12 Mathematics <math.h> (第 231 页)
- C99 标准(ISO/IEC 9899:1999):
- 7.12 Mathematics <math.h> (第 212 页)
[编辑]参阅
(C99) | 指定所有算术运算以什么精度执行 (宏常量) |