C
数值 | Numerics

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说明
0float_t和double_t分别等价于float和double
1float_t和double_t都相当于double
2float_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):