C 参考手册

位置:首页 > C 参考手册 >数值 >常用数学函数 > float_t, double_t

定义于头文件 <math.h>
typedef /*implementation defined*/ float_t
(C99 起)
typedef /*implementation defined*/ double_t
(C99 起)

float_tdouble_t 类型分别是至少与 floatdouble 一样宽的浮点类型,并满足 double_t 至少与 float_t 一样宽。 FLT_EVAL_METHOD 的值确定 float_tdouble_t 的类型。

 
FLT_EVAL_METHOD 解释
0 float_tdouble_t 分别等价于 floatdouble
1 float_tdouble_t 都等价于 double
2 float_tdouble_t 都等价于 long double
其他 float_tdouble_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 standard (ISO/IEC 9899:2011):
  • 7.12 Mathematics <math.h> (p: 231)
  • C99 standard (ISO/IEC 9899:1999):
  • 7.12 Mathematics <math.h> (p: 212)