Namespaces
Variants

Common mathematical functions

From cppreference.net
Common mathematical functions
Functions
Basic operations
(C99)
(C99)
(C99)
(C99) (C99) (C99) (C23)
Maximum/minimum operations
Exponential functions
Power functions
Trigonometric and hyperbolic functions
Nearest integer floating-point
(C99) (C99) (C99)
(C23) (C23) (C23) (C23)
Floating-point manipulation
Narrowing operations
(C23)
(C23)
(C23)
(C23)
(C23)
(C23)
Quantum and quantum exponent
Decimal re-encoding functions
Total order and payload functions
Classification
Error and gamma functions
(C99)
(C99)
(C99)
(C99)
Types
Macro constants
Special floating-point values
Arguments and return values
Error handling
Fast operation indicators

目录

类型

定义于头文件 <stdlib.h>
div 函数返回的结构体类型
(typedef)
ldiv 函数返回的结构体类型
(typedef)
(C99)
lldiv 函数返回的结构体类型
(typedef)
定义于头文件 <inttypes.h>
imaxdiv 函数返回的结构体类型
(typedef)
定义于头文件 <math.h>
(C99)
宽度至少与 float 相同的最高效浮点类型
(typedef)
宽度至少与 double 相同的最高效浮点类型
(typedef)

常量

定义于头文件 <math.h>
表示对应 float double long double 类型无法表示的过大值(无穷大)
(宏常量)
求值为正无穷大或保证会使 float 类型溢出的值
(宏常量)
(C99)
求值为 float 类型的静默NaN
(宏常量)
指示fma函数通常执行速度与双精度操作数的乘加操作相当或更快
(宏常量)
当x分别为零或NaN时,求值为 ilogb ( x ) 的返回值
(宏常量)
定义通用数学函数使用的错误处理机制
(宏常量)
分类
指示浮点数类别
(宏常量)

函数

定义于头文件 <stdlib.h>
计算整型数值的绝对值 ( |x| )
(函数)
计算整数除法的商和余数
(函数)
定义于头文件 <inttypes.h>
(C99)
计算整型值的绝对值 ( |x| )
(函数)
(C99)
计算整数除法的商和余数
(函数)
定义于头文件 <math.h>
基本操作
(C99) (C99)
计算浮点值的绝对值 ( |x| )
(函数)
(C99) (C99)
计算浮点除法运算的余数
(函数)
计算浮点除法运算的有符号余数
(函数)
(C99) (C99) (C99)
计算带符号余数以及除法运算的最后三位
(函数)
(C99) (C99) (C99)
计算融合乘加运算
(函数)
(C99) (C99) (C99)
确定两个浮点值的较大者
(函数)
(C99) (C99) (C99)
确定两个浮点数值中的较小值
(函数)
(C99) (C99) (C99)
确定两个浮点值的正差值( max(0, x-y)
(函数)
(C99) (C99) (C99)
返回一个NaN(非数字)
(函数)
指数函数
(C99) (C99)
计算 e 的给定次幂 ( e x )
(函数)
(C99) (C99) (C99)
计算 2 的给定次幂 ( 2 x )
(函数)
(C99) (C99) (C99)
计算给定幂次的 e 减一( e x -1
(函数)
(C99) (C99)
计算自然(以 e 为底)对数( ln(x)
(函数)
计算常用(以 10 为底)对数( log 10 (x)
(函数)
(C99) (C99) (C99)
计算以2为底的对数( log 2 (x)
(函数)
(C99) (C99) (C99)
计算给定数值加1的自然(以 e 为底)对数( ln(1+x)
(函数)
幂函数
(C99) (C99)
计算一个数的指定次幂 ( x y )
(函数)
(C99) (C99)
计算平方根 ( x )
(函数)
(C99) (C99) (C99)
计算立方根( 3 x
(函数)
(C99) (C99) (C99)
计算两个给定数平方和的平方根( x 2
+y 2

(函数)
三角函数
(C99) (C99)
计算正弦值( sin(x)
(函数)
(C99) (C99)
计算余弦值( cos(x)
(函数)
(C99) (C99)
计算正切值( tan(x)
(函数)
(C99) (C99)
计算反正弦( arcsin(x)
(函数)
(C99) (C99)
计算反余弦( arccos(x)
(函数)
(C99) (C99)
计算反正切( arctan(x)
(函数)
计算反正切,使用符号确定象限
(函数)
双曲函数
(C99) (C99)
计算双曲正弦函数 ( sinh(x) )
(函数)
(C99) (C99)
计算双曲余弦 ( cosh(x) )
(函数)
(C99) (C99)
计算双曲正切函数 ( tanh(x) )
(函数)
(C99) (C99) (C99)
计算反双曲正弦 ( arsinh(x) )
(函数)
(C99) (C99) (C99)
计算反双曲余弦 ( arcosh(x) )
(函数)
(C99) (C99) (C99)
计算反双曲正切 ( artanh(x) )
(函数)
误差函数与伽玛函数
(C99) (C99) (C99)
计算误差函数
(函数)
(C99) (C99) (C99)
计算补余误差函数
(函数)
(C99) (C99) (C99)
计算伽玛函数
(函数)
(C99) (C99) (C99)
计算伽玛函数的自然(以 e 为底)对数
(函数)
最接近整数的浮点运算
(C99) (C99)
计算不小于给定值的最小整数
(函数)
计算不大于给定值的最大整数
(函数)
(C99) (C99) (C99)
向绝对值不大于给定值的最近整数舍入
(函数)
(C99) (C99) (C99) (C99) (C99) (C99) (C99) (C99) (C99)
四舍五入到最接近的整数,中间值向远离零的方向舍入
(函数)
使用当前舍入模式舍入到整数
(函数)
(C99) (C99) (C99) (C99) (C99) (C99) (C99) (C99) (C99)
使用当前舍入模式将数值舍入为整数,
若结果不同则产生异常
(函数)
浮点数操作函数
将数值分解为有效数字和 2 的幂
(函数)
将数字乘以 2 的指定次幂
(函数)
(C99) (C99)
将数字分解为整数和小数部分
(函数)
(C99) (C99) (C99) (C99) (C99) (C99)
高效计算一个数乘以 FLT_RADIX 的指定次幂
(函数)
(C99) (C99) (C99)
提取指定数值的指数
(函数)
(C99) (C99) (C99)
提取指定数值的指数
(函数)
确定朝向给定值的下一个可表示浮点数值
(函数)
生成一个具有给定值大小和另一个给定值符号的数值
(函数)
分类与比较
对给定的浮点数值进行分类
(函数宏)
检查给定数值是否为有限值
(函数宏)
(C99)
检查给定数值是否为无穷大
(函数宏)
(C99)
检查给定数值是否为非数值
(函数宏)
检查给定数值是否为规范浮点数
(函数宏)
(C99)
检查给定数值是否为负数
(函数宏)
检查第一个浮点参数是否大于第二个
(函数宏)
检查第一个浮点参数是否大于或等于第二个
(函数宏)
(C99)
检查第一个浮点参数是否小于第二个
(函数宏)
检查第一个浮点参数是否小于等于第二个参数
(函数宏)
检查第一个浮点参数是否小于或大于第二个参数
(函数宏)
检查两个浮点值是否无序
(函数宏)

参考文献

  • C23 标准 (ISO/IEC 9899:2024):
  • 7.8 整型格式转换 <inttypes.h> (页: TBD)
  • 7.12 数学运算 <math.h> (页: TBD)
  • 7.22 通用工具 <stdlib.h> (页: TBD)
  • 7.31.5 整型格式转换 <inttypes.h> (页: TBD)
  • 7.31.12 通用工具 <stdlib.h> (页: TBD)
  • C17 标准 (ISO/IEC 9899:2018):
  • 7.8 整数类型格式转换 <inttypes.h> (页码: 158-160)
  • 7.12 数学函数 <math.h> (页码: 169-190)
  • 7.22 通用工具 <stdlib.h> (页码: 248-262)
  • 7.31.5 整数类型格式转换 <inttypes.h> (页码: 332)
  • 7.31.12 通用工具 <stdlib.h> (页码: 333)
  • C11标准(ISO/IEC 9899:2011):
  • 7.8 整数类型格式转换 <inttypes.h>(页码:217-220)
  • 7.12 数学运算 <math.h>(页码:231-261)
  • 7.22 通用工具 <stdlib.h>(页码:340-360)
  • 7.31.5 整数类型格式转换 <inttypes.h>(页码:455)
  • 7.31.12 通用工具 <stdlib.h>(页码:456)
  • C99标准(ISO/IEC 9899:1999):
  • 7.8 整数类型格式转换 <inttypes.h>(页码:198-201)
  • 7.12 数学函数 <math.h>(页码:212-242)
  • 7.20 通用工具函数 <stdlib.h>(页码:306-324)
  • 7.26.4 整数类型格式转换 <inttypes.h>(页码:401)
  • 7.26.10 通用工具函数 <stdlib.h>(页码:402)
  • C89/C90标准(ISO/IEC 9899:1990):
  • 4.5 数学函数 <math.h>
  • 4.10 通用工具函数 <stdlib.h>
  • 4.13.4 数学函数 <math.h>
  • 7.13.7 通用工具函数 <stdlib.h>

另请参阅

C++ 文档 关于 常用数学函数