float_t
float_t, double_t
在头文件 | | |
---|---|---|
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>
int main(void)
{
printf("%d\n", FLT_EVAL_METHOD
printf("%zu %zu\n", sizeof(float),sizeof(float_t)
printf("%zu %zu\n", sizeof(double),sizeof(double_t)
return 0;
}
可能的输出:
0
4 4
8 8
参考
- C11标准(ISO / IEC 9899:2011):