跳到主要内容

std::float_t; std::double_t

描述

类型 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 都由实现定义

声明

自 C99 起
typedef /*implementation defined*/ float_t

typedef /*implementation defined*/ 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

std::float_t; std::double_t

描述

类型 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 都由实现定义

声明

自 C99 起
typedef /*implementation defined*/ float_t

typedef /*implementation defined*/ 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