非常教程

C参考手册

数值 | Numerics

double_t

在头文件<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都相当于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):
    • 7.12 <math.h>(p:231)
  • C99标准(ISO / IEC 9899:1999):
    • 7.12 <math.h>(p:212)
C

C 语言是一门通用计算机编程语言,应用广泛。C 语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。