跳到主要内容

常用数学函数

函数

定义于头文件 <cstdlib>

pubabs
labs
llabs
计算整数的绝对值 (|x|)
pubdiv
ldiv
lldiv
计算整数除法的商和余数

定义于头文件 <cinttypes>

pubabs
imaxabs
计算整数的绝对值 (|x|)
pubdiv
imaxdiv
计算整数除法的商和余数

定义于头文件 <cmath>

基本操作

pubabs
fabs
fabsf
fabsl
浮点数的绝对值 (|x|)
pubfmod
fmodf
fmodl
浮点除法操作的余数
pubremainder
remainderf
remainderl
除法操作的带符号余数
pubremquo
remquof
remquol
带符号余数以及除法操作的最后三位
pubfma
fmaf
fmal
融合乘加操作
pubfmax
fmaxf
fmaxl
两个浮点值中较大的一个
pubfmin
fminf
fminl
两个浮点值中较小的一个
pubfdim
fdimf
fdiml
两个浮点值的正差值 (max(0, x - y))
pubnan
nanf
nanl
非数字 (NaN)

指数函数

pubexp
expf
expl
返回 e 的给定幂次方 (ex)
pubexp2
exp2f
exp2l
返回 2 的给定幂次方 (2x)
pubexpm1
expm1f
expm1l
返回 e 的给定幂次方减一 (ex - 1)
publog
logf
logl
计算自然对数 (以 e 为底) (ln x)
publog10
log10f
log10l
计算常用对数 (以 10 为底) (log10x)
publog2
log2f
log2l
给定数字的以 2 为底的对数 (log2x)
publog1p
log1pf
log1pl
1 加上给定数字的自然对数 (以 e 为底) (ln(1 + x))

幂函数

pubpow
powf
powl
将一个数提升到给定幂 (xy)
pubsqrt
sqrtf
sqrtl
计算平方根 (x)
pubcbrt
cbrtf
cbrtl
计算立方根 (x)
pubhypot
hypotf
hypotl
计算两个或三个给定数的平方和的平方根 (x2+y2)

三角函数

pubsin
sinf
sinl
计算正弦 (sin x)
pubcos
cosf
cosl
计算余弦 (cos x)
pubtan
tanf
tanl
计算正切 (tan x)
pubasin
asinf
asinl
计算反正弦 (arcsin x)
pubacos
acosf
acosl
计算反余弦 (arccos x)
pubatan
atanf
atanl
计算反正切 (arctan x)
pubatan2
atan2f
atan2l
反正切,使用符号确定象限

双曲函数

pubsinh
sinhf
sinhl
计算双曲正弦 (sinh x)
pubcosh
coshf
coshl
计算双曲余弦 (cosh x)
pubtanh
tanhf
tanhl
计算双曲正切 (tanh x)
pubasinh
asinhf
asinhl
计算反双曲正弦 (arsinh x)
pubacosh
acoshf
acoshl
计算反双曲余弦 (arcosh x)
pubatanh
atanhf
atanhl
计算反双曲正切 (artanh x)

误差函数和 Gamma 函数

puberf
erff
erfl
误差函数
puberfc
erfcf
erfcl
互补误差函数
pubtgamma
tgammaf
tgammal
Gamma 函数
publgamma
lgammaf
lgammal
Gamma 函数的自然对数

最近整数浮点运算

pubceil
ceilf
ceill
不小于给定值的最近整数
pubfloor
floorf
floorl
不大于给定值的最近整数
pubtrunc
truncf
truncl
幅度不大于给定值的最近整数
pubround
roundf
roundl
lround
lroundf
lroundl
llround
llroundf
llroundl
最近整数,半数情况下远离零舍入
pubnearbyint
nearbyintf
nearbyintl
使用当前舍入模式的最近整数
pubrint
rintf
rintl
lrint
lrintf
lrintl
llrint
llrintf
llrintl
使用当前舍入模式的最近整数,如果结果不同则抛出异常

浮点操作函数

pubfrexp
frexpf
frexpl
将数字分解为有效数和 2 的幂
publdexp
ldexpf
ldexpl
将数字乘以 2 的幂次方
pubmodf
modff
modfl
将数字分解为整数和小数部分
pubscalbn
scalbnf
scalbnl
scalbln
scalblnf
scalblnl
将数字乘以 FLT_RADIX 的幂次方
pubilogb
ilogbf
ilogbl
提取数字的指数
publogb
logbf
logbl
提取数字的指数
pubnextafter
nextafterf
nextafterl
nexttoward
nexttowardf
nexttowardl
朝给定值方向的下一个可表示浮点值
pubcopysign
copysignf
copysignl
复制浮点值的符号

分类和比较

pubfpclassify对给定浮点值进行分类
pubisfinite检查给定数字是否具有有限值
pubisinf检查给定数字是否为无穷大
pubisnan检查给定数字是否为 NaN
pubisnormal检查给定数字是否为正常数
pubsignbit检查给定数字是否为负数
pubisgreater检查第一个浮点参数是否大于第二个
pubisgreaterequal检查第一个浮点参数是否大于或等于第二个
pubisless检查第一个浮点参数是否小于第二个
pubislessequal检查第一个浮点参数是否小于或等于第二个
pubislessgreater检查第一个浮点参数是否小于或大于第二个
pubisunordered检查两个浮点值是否无序

类型

定义于头文件 <cstdlib>

pubdiv_t结构类型,std::div 函数的返回值
publdiv_t结构类型,std::ldiv 函数的返回值
publldiv_t结构类型,std::lldiv 函数的返回值
pubimaxdiv_t结构类型,std::imaxdiv 函数的返回值
pubfloat_t至少与 float 一样宽的最有效的浮点类型
pubdouble_t至少与 double 一样宽的最有效的浮点类型

宏常量

定义于头文件 <cmath>

pubHUGE_VALF
HUGE_VAL
HUGE_VALL
分别表示 floatdoublelong double 的溢出值
pubINFINITY评估为正无穷大或保证使 float 溢出的值
pubNAN评估为类型为 float 的静默 NaN
pubmath_errhandling
MATH_ERRNO
MATH_ERREXCEPT
定义常用数学函数使用的错误处理机制

分类

pubFP_NORMAL
FP_SUBNORMAL
FP_ZERO
FP_INFINITE
FP_NAN
指示浮点类别

常用数学函数

函数

定义于头文件 <cstdlib>

pubabs
labs
llabs
计算整数的绝对值 (|x|)
pubdiv
ldiv
lldiv
计算整数除法的商和余数

定义于头文件 <cinttypes>

pubabs
imaxabs
计算整数的绝对值 (|x|)
pubdiv
imaxdiv
计算整数除法的商和余数

定义于头文件 <cmath>

基本操作

pubabs
fabs
fabsf
fabsl
浮点数的绝对值 (|x|)
pubfmod
fmodf
fmodl
浮点除法操作的余数
pubremainder
remainderf
remainderl
除法操作的带符号余数
pubremquo
remquof
remquol
带符号余数以及除法操作的最后三位
pubfma
fmaf
fmal
融合乘加操作
pubfmax
fmaxf
fmaxl
两个浮点值中较大的一个
pubfmin
fminf
fminl
两个浮点值中较小的一个
pubfdim
fdimf
fdiml
两个浮点值的正差值 (max(0, x - y))
pubnan
nanf
nanl
非数字 (NaN)

指数函数

pubexp
expf
expl
返回 e 的给定幂次方 (ex)
pubexp2
exp2f
exp2l
返回 2 的给定幂次方 (2x)
pubexpm1
expm1f
expm1l
返回 e 的给定幂次方减一 (ex - 1)
publog
logf
logl
计算自然对数 (以 e 为底) (ln x)
publog10
log10f
log10l
计算常用对数 (以 10 为底) (log10x)
publog2
log2f
log2l
给定数字的以 2 为底的对数 (log2x)
publog1p
log1pf
log1pl
1 加上给定数字的自然对数 (以 e 为底) (ln(1 + x))

幂函数

pubpow
powf
powl
将一个数提升到给定幂 (xy)
pubsqrt
sqrtf
sqrtl
计算平方根 (x)
pubcbrt
cbrtf
cbrtl
计算立方根 (x)
pubhypot
hypotf
hypotl
计算两个或三个给定数的平方和的平方根 (x2+y2)

三角函数

pubsin
sinf
sinl
计算正弦 (sin x)
pubcos
cosf
cosl
计算余弦 (cos x)
pubtan
tanf
tanl
计算正切 (tan x)
pubasin
asinf
asinl
计算反正弦 (arcsin x)
pubacos
acosf
acosl
计算反余弦 (arccos x)
pubatan
atanf
atanl
计算反正切 (arctan x)
pubatan2
atan2f
atan2l
反正切,使用符号确定象限

双曲函数

pubsinh
sinhf
sinhl
计算双曲正弦 (sinh x)
pubcosh
coshf
coshl
计算双曲余弦 (cosh x)
pubtanh
tanhf
tanhl
计算双曲正切 (tanh x)
pubasinh
asinhf
asinhl
计算反双曲正弦 (arsinh x)
pubacosh
acoshf
acoshl
计算反双曲余弦 (arcosh x)
pubatanh
atanhf
atanhl
计算反双曲正切 (artanh x)

误差函数和 Gamma 函数

puberf
erff
erfl
误差函数
puberfc
erfcf
erfcl
互补误差函数
pubtgamma
tgammaf
tgammal
Gamma 函数
publgamma
lgammaf
lgammal
Gamma 函数的自然对数

最近整数浮点运算

pubceil
ceilf
ceill
不小于给定值的最近整数
pubfloor
floorf
floorl
不大于给定值的最近整数
pubtrunc
truncf
truncl
幅度不大于给定值的最近整数
pubround
roundf
roundl
lround
lroundf
lroundl
llround
llroundf
llroundl
最近整数,半数情况下远离零舍入
pubnearbyint
nearbyintf
nearbyintl
使用当前舍入模式的最近整数
pubrint
rintf
rintl
lrint
lrintf
lrintl
llrint
llrintf
llrintl
使用当前舍入模式的最近整数,如果结果不同则抛出异常

浮点操作函数

pubfrexp
frexpf
frexpl
将数字分解为有效数和 2 的幂
publdexp
ldexpf
ldexpl
将数字乘以 2 的幂次方
pubmodf
modff
modfl
将数字分解为整数和小数部分
pubscalbn
scalbnf
scalbnl
scalbln
scalblnf
scalblnl
将数字乘以 FLT_RADIX 的幂次方
pubilogb
ilogbf
ilogbl
提取数字的指数
publogb
logbf
logbl
提取数字的指数
pubnextafter
nextafterf
nextafterl
nexttoward
nexttowardf
nexttowardl
朝给定值方向的下一个可表示浮点值
pubcopysign
copysignf
copysignl
复制浮点值的符号

分类和比较

pubfpclassify对给定浮点值进行分类
pubisfinite检查给定数字是否具有有限值
pubisinf检查给定数字是否为无穷大
pubisnan检查给定数字是否为 NaN
pubisnormal检查给定数字是否为正常数
pubsignbit检查给定数字是否为负数
pubisgreater检查第一个浮点参数是否大于第二个
pubisgreaterequal检查第一个浮点参数是否大于或等于第二个
pubisless检查第一个浮点参数是否小于第二个
pubislessequal检查第一个浮点参数是否小于或等于第二个
pubislessgreater检查第一个浮点参数是否小于或大于第二个
pubisunordered检查两个浮点值是否无序

类型

定义于头文件 <cstdlib>

pubdiv_t结构类型,std::div 函数的返回值
publdiv_t结构类型,std::ldiv 函数的返回值
publldiv_t结构类型,std::lldiv 函数的返回值
pubimaxdiv_t结构类型,std::imaxdiv 函数的返回值
pubfloat_t至少与 float 一样宽的最有效的浮点类型
pubdouble_t至少与 double 一样宽的最有效的浮点类型

宏常量

定义于头文件 <cmath>

pubHUGE_VALF
HUGE_VAL
HUGE_VALL
分别表示 floatdoublelong double 的溢出值
pubINFINITY评估为正无穷大或保证使 float 溢出的值
pubNAN评估为类型为 float 的静默 NaN
pubmath_errhandling
MATH_ERRNO
MATH_ERREXCEPT
定义常用数学函数使用的错误处理机制

分类

pubFP_NORMAL
FP_SUBNORMAL
FP_ZERO
FP_INFINITE
FP_NAN
指示浮点类别