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> (页码: 待定)
- C17 标准 (ISO/IEC 9899:2018):
-
- 7.12 数学函数 <math.h> (页码: 待定)
- C11 标准 (ISO/IEC 9899:2011):
-
- 7.12 数学函数 <math.h> (页码: 231)
- C99标准(ISO/IEC 9899:1999):
-
- 7.12 数学函数 <math.h>(页码:212)
参见
|
(C99)
|
指定所有算术运算的执行精度
(宏常量) |