float_t, double_t

来自cppreference.com
< c‎ | numeric‎ | math


 
 
 
常用数学函数
函数
基本运算
(C99)
(C99)
(C99)
(C99)(C99)(C99)(C23)
最大/最小运算
(C99)
(C99)
指数函数
(C23)
(C99)
(C99)
(C23)
(C23)

(C99)
(C99)(C23)
(C23)
(C23)
幂函数
(C99)
(C23)
(C23)

(C99)
(C23)
(C23)
三角及双曲函数
(C23)
(C23)
(C23)
(C23)
(C99)
(C99)
(C99)
浮点数的临近整数
(C99)(C99)(C99)
(C23)(C23)(C23)(C23)
浮点数操作
(C99)(C99)
(C99)(C23)
(C99)
窄化运算
(C23)
(C23)
(C23)
(C23)
(C23)
(C23)
量与量指数函数
十进制重编码函数
全序与载荷函数
分类
误差及伽马函数
(C99)
(C99)
(C99)
(C99)
类型
float_tdouble_t
(C99)(C99)
宏常量
特殊浮点数值
(C99)(C23)
参数与返回值
错误处理
快速运算指示
 
在标头 <math.h> 定义
typedef/* 由实现定义 */ float_t
(C99 起)
typedef/* 由实现定义 */ double_t
(C99 起)

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

FLT_EVAL_METHOD 解释
0float_tdouble_t 分别等价于 floatdouble
1float_tdouble_t 都等价于 double
2float_tdouble_t 都等价于 longdouble
其他 float_tdouble_t 均为实现定义

[编辑]示例

#include <float.h>#include <math.h>#include <stdio.h>   #define SHOW(expr) printf("%s = %d\n", #expr, (int)(expr))   int main(void){ SHOW(FLT_EVAL_METHOD); SHOW(sizeof(float)); SHOW(sizeof(float_t)); SHOW(sizeof(double)); SHOW(sizeof(double_t));}

可能的输出:

FLT_EVAL_METHOD = 1 sizeof(float) = 4 sizeof(float_t) = 8 sizeof(double) = 8 sizeof(double_t) = 8

[编辑]引用

  • C23 标准(ISO/IEC 9899:2024):
  • 7.12 Mathematics <math.h> (第 TBD 页)
  • C17 标准(ISO/IEC 9899:2018):
  • 7.12 Mathematics <math.h> (第 TBD 页)
  • C11 标准(ISO/IEC 9899:2011):
  • 7.12 Mathematics <math.h> (第 231 页)
  • C99 标准(ISO/IEC 9899:1999):
  • 7.12 Mathematics <math.h> (第 212 页)

[编辑]参阅

指定所有算术运算以什么精度执行
(宏常量)
close