常用数学函数
函数
| 
 在标头  
<cstdlib> 定义 | 
|
| 
 (C++11) 
 | 
计算整数值的绝对值(|x|) (函数)  | 
| 
 (C++11) 
 | 
计算整数除法的商和余数 (函数)  | 
| 
 在标头  
<cinttypes> 定义 | 
|
| 
 (C++11)(C++11) 
 | 
计算整数值的绝对值(|x|) (函数)  | 
| 
 (C++11)(C++11) 
 | 
计算整数除法的商和余数 (函数)  | 
| 
 在标头  
<cmath> 定义 | 
|
基础运算 | 
|
| 
 (C++11)(C++11) 
 | 
浮点值的绝对值(|x|) (函数)  | 
| 
 (C++11)(C++11) 
 | 
浮点除法运算的余数 (函数)  | 
| 
 (C++11)(C++11)(C++11) 
 | 
除法运算的有符号余数 (函数)  | 
| 
 (C++11)(C++11)(C++11) 
 | 
除法运算的有符号余数和最后三个二进制位 (函数)  | 
| 
 (C++11)(C++11)(C++11) 
 | 
混合的乘加运算 (函数)  | 
| 
 (C++11)(C++11)(C++11) 
 | 
两个浮点值的较大者 (函数)  | 
| 
 (C++11)(C++11)(C++11) 
 | 
两个浮点值的较小者 (函数)  | 
| 
 (C++11)(C++11)(C++11) 
 | 
两个浮点值的正数差(max(0, x-y)) (函数)  | 
| 
 (C++11)(C++11)(C++11) 
 | 
非数(NaN) (函数)  | 
指数函数 | 
|
| 
 (C++11)(C++11) 
 | 
返回 e 的给定次幂(ex) (函数)  | 
| 
 (C++11)(C++11)(C++11) 
 | 
返回 2 的给定次幂(2x) (函数)  | 
| 
 (C++11)(C++11)(C++11) 
 | 
返回 e 的给定次幂减一(ex-1) (函数)  | 
| 
 (C++11)(C++11) 
 | 
计算自然(以 e 为底)对数(ln(x)) (函数)  | 
| 
 (C++11)(C++11) 
 | 
计算常用(以 10 为底)对数(log10(x)) (函数)  | 
| 
 (C++11)(C++11)(C++11) 
 | 
给定数值的以 2 为底的对数(log2(x)) (函数)  | 
| 
 (C++11)(C++11)(C++11) 
 | 
1 加上给定数值的自然(以 e 为底)对数(ln(1+x)) (函数)  | 
幂函数 | 
|
| 
 (C++11)(C++11) 
 | 
求某数的给定次幂(xy) (函数)  | 
| 
 (C++11)(C++11) 
 | 
计算平方根(√x) (函数)  | 
| 
 (C++11)(C++11)(C++11) 
 | 
计算立方根(3√x) (函数)  | 
| 
 (C++11)(C++11)(C++11) 
 | 
计算两个或三个 (C++17 起)给定数的平方和的平方根(√x2 +y2 ),(√x2 +y2 +z2 ) (C++17 起) (函数)  | 
三角函数 | 
|
| 
 (C++11)(C++11) 
 | 
计算正弦(sin(x)) (函数)  | 
| 
 (C++11)(C++11) 
 | 
计算余弦(cos(x)) (函数)  | 
| 
 (C++11)(C++11) 
 | 
计算正切(tan(x)) (函数)  | 
| 
 (C++11)(C++11) 
 | 
计算反正弦(arcsin(x)) (函数)  | 
| 
 (C++11)(C++11) 
 | 
计算反余弦(arccos(x)) (函数)  | 
| 
 (C++11)(C++11) 
 | 
计算反正切(arctan(x)) (函数)  | 
| 
 (C++11)(C++11) 
 | 
反正切,用符号确定象限 (函数)  | 
双曲函数 | 
|
| 
 (C++11)(C++11) 
 | 
计算双曲正弦(sinh(x)) (函数)  | 
| 
 (C++11)(C++11) 
 | 
计算双曲余弦(cosh(x)) (函数)  | 
| 
 (C++11)(C++11) 
 | 
计算双曲正切(tanh(x)) (函数)  | 
| 
 (C++11)(C++11)(C++11) 
 | 
计算反双曲正弦(arsinh(x)) (函数)  | 
| 
 (C++11)(C++11)(C++11) 
 | 
计算反双曲余弦(arcosh(x)) (函数)  | 
| 
 (C++11)(C++11)(C++11) 
 | 
计算反双曲正切(artanh(x)) (函数)  | 
误差与伽马函数 | 
|
| 
 (C++11)(C++11)(C++11) 
 | 
误差函数 (函数)  | 
| 
 (C++11)(C++11)(C++11) 
 | 
补误差函数 (函数)  | 
| 
 (C++11)(C++11)(C++11) 
 | 
gamma 函数 (函数)  | 
| 
 (C++11)(C++11)(C++11) 
 | 
gamma 函数的自然对数 (函数)  | 
最接近整数的浮点运算 | 
|
| 
 (C++11)(C++11) 
 | 
不小于给定值的最接近整数值 (函数)  | 
| 
 (C++11)(C++11) 
 | 
不大于给定值的最接近整数 (函数)  | 
| 
 (C++11)(C++11)(C++11) 
 | 
绝对值不大于给定值的最接近整数 (函数)  | 
| 
 (C++11)(C++11)(C++11)(C++11)(C++11)(C++11)(C++11)(C++11)(C++11) 
 | 
最接近整数,中间情况下向远离零舍入 (函数)  | 
| 
 (C++11)(C++11)(C++11) 
 | 
使用当前舍入模式的最接近整数 (函数)  | 
| 
 (C++11)(C++11)(C++11)(C++11)(C++11)(C++11)(C++11)(C++11)(C++11) 
 | 
使用当前舍入模式的最接近整数 若结果有别则有异常 (函数)  | 
浮点操作函数 | 
|
| 
 (C++11)(C++11) 
 | 
将数分解为有效数字和以 2 为底的指数 (函数)  | 
| 
 (C++11)(C++11) 
 | 
将数乘以 2 的整数次幂 (函数)  | 
| 
 (C++11)(C++11) 
 | 
分解数为整数和小数部分 (函数)  | 
| 
 (C++11)(C++11)(C++11)(C++11)(C++11)(C++11) 
 | 
将数乘以 FLT_RADIX 的幂次 (函数)  | 
| 
 (C++11)(C++11)(C++11) 
 | 
提取数的指数 (函数)  | 
| 
 (C++11)(C++11)(C++11) 
 | 
提取数的指数 (函数)  | 
| 
 (C++11)(C++11) (C++11)(C++11)(C++11)(C++11) 
 | 
趋向给定值的下个可表示浮点值 (函数)  | 
| 
 (C++11)(C++11)(C++11) 
 | 
复制浮点值的符号 (函数)  | 
分类与比较 | 
|
| 
 (C++11) 
 | 
归类给定的浮点值 (函数)  | 
| 
 (C++11) 
 | 
检查给定数是否拥有有限值 (函数)  | 
| 
 (C++11) 
 | 
检查给定数是否为无限 (函数)  | 
| 
 (C++11) 
 | 
检查给定的数是否 NaN (函数)  | 
| 
 (C++11) 
 | 
检查给定数是否正规 (函数)  | 
| 
 (C++11) 
 | 
检查给定数是否为负 (函数)  | 
| 
 (C++11) 
 | 
检查第一个浮点实参是否大于第二个 (函数)  | 
| 
 (C++11) 
 | 
检查第一个浮点实参是否大于或等于第二个 (函数)  | 
| 
 (C++11) 
 | 
检查第一个浮点实参是否小于第二个 (函数)  | 
| 
 (C++11) 
 | 
检查第一个浮点实参是否小于或等于第二个 (函数)  | 
| 
 (C++11) 
 | 
检查第一个浮点实参是否小于或大于第二个 (函数)  | 
| 
 (C++11) 
 | 
检查两个浮点值是否无顺序 (函数)  | 
类型
| 
 在标头  
<cstdlib> 定义 | 
|
| std::div 返回的结构体类型 (typedef)  | 
|
| std::ldiv 返回的结构体类型 (typedef)  | 
|
| 
 (C++11) 
 | 
std::lldiv 返回的结构体类型 (typedef)  | 
| 
 在标头  
<cinttypes> 定义 | 
|
| 
 (C++11) 
 | 
std::imaxdiv 返回的结构体类型 (typedef)  | 
| 
 在标头  
<cmath> 定义 | 
|
| 
 float_t 
(C++11) 
 | 
至少和 float 一样宽的最高效浮点类型 (typedef)  | 
| 
 double_t 
(C++11) 
 | 
至少和 double 一样宽的最高效浮点类型 (typedef)  | 
宏常量
| 
 在标头  
<cmath> 定义 | 
|
| 
 (C++11)(C++11) 
 | 
分别指示 float、double 和 long double 的上溢值 (宏常量)  | 
| 
 (C++11) 
 | 
求值为正无穷大或保证使 float 上溢的值 (宏常量)  | 
| 
 (C++11) 
 | 
求值为 float 类型的静默 NAN (宏常量)  | 
| 
 (C++11)(C++11)(C++11) 
 | 
定义常用数学函数所用的错误处理机制 (宏常量)  | 
分类 | 
|
| 
 (C++11)(C++11)(C++11)(C++11)(C++11) 
 | 
指示浮点类别 (宏常量)  | 
注解
| 功能特性测试宏 | 值 | 标准 | 功能特性 | 
|---|---|---|---|
__cpp_lib_constexpr_cmath | 
202202L | (C++23) | <cmath> 和 <cstdlib> 中与浮点环境无关的数学函数的 constexpr | 
| 202306L | (C++26) | <cmath> 中大部分数学函数的 constexpr | 
参阅
| 数学特殊函数 |