当前位置: C语言 -- 标准库 -- <math.h>

<math.h>头文件

<math.h>头文件声明了两个类型和多个数学函数,并定义了多个宏。<math.h>头文件存在多个函数组,这些函数组由一个主函数和相同函数名后缀为f或者l的函数组成。主函数存在一个或者多个double类型的参数,double类型的返回值,或者两者兼而有之;后缀为f的函数存在一个或者多个float类型的参数,float类型的返回值,或者两者兼而有之;后缀为l的函数存在一个或者多个long double类型的参数,long double类型的返回值,或者两者兼而有之。


<math.h>头文件中声明的类型、函数以及定义的宏具体如下:

编译提示(pragma):
FP_CONTRACT 表示是否允许收缩表达式的编译提示。

类型(type):
float_t 表示至少与float类型一样宽的浮点类型。
double_t 表示至少与doublefloat_t类型一样宽的浮点类型。

宏(macro):
HUGE_VAL 表示double类型巨大值的宏。
HUGE_VALF 表示float类型巨大值的宏。
HUGE_VALL 表示long double类型巨大值的宏。
INFINITY 表示float类型无穷大的宏。
NAN 表示非数值的宏。
FP_INFINITE 表示浮点类别无穷大的宏。
FP_NAN 表示浮点类别非数值的宏。
FP_NORMAL 表示浮点类别规格化数的宏。
FP_SUBNORMAL 表示浮点类别次规格化数的宏。
FP_ZERO 表示浮点类别0的宏。
FP_FAST_FMA 表示fma函数运算不慢于double类型一次乘法和一次加法运算的宏。
FP_FAST_FMAF 表示fmaf函数运算不慢于float类型一次乘法和一次加法运算的宏。
FP_FAST_FMAL 表示fmal函数运算不慢于long double类型一次乘法和一次加法运算的宏。
FP_ILOGB0 表示函数ilogb(0)返回值的宏。
FP_ILOGBNAN 表示函数ilogb(NaN)返回值的宏。
MATH_ERRNO 表示通过errno报告错误的宏。
MATH_ERREXCEPT 表示通过引发浮点异常报告错误的宏。
math_errhandling 表示通过errno和引发浮点异常报告错误的宏。
分类宏:
fpclassify 对参数按浮点类别进行分类的宏。
isfinite 判断参数是否为有限值的宏。
isinf 判断参数是否为无穷大的宏。
isnan 判断参数是否为非数值的宏。
isnormal 判断参数是否为规格化数的宏。
signbit 判断参数符号是否为负号的宏。
比较宏:
isgreater 判断第一个参数是否大于第二个参数的宏。
isgreaterequal 判断第一个参数是否大于等于第二个参数的宏。
isless 判断第一个参数是否小于第二个参数的宏。
islessequal 判断第一个参数是否小于等于第二个参数的宏。
islessgreater 判断第一个参数是否小于或者大于第二个参数的宏。
isunordered 判断参数是否无序的宏。

函数(function):
三角函数:
acos
acosf
acosl
反余弦函数。
asin
asinf
asinl
反正弦函数。
atan
atanf
atanl
反正切函数。
atan2
atan2f
atan2l
y/x的反正切函数。
cos
cosf
cosl
余弦函数。
sin
sinf
sinl
正弦函数。
tan
tanf
tanl
正切函数。
双曲线函数:
acosh
acoshf
acoshl
反双曲余弦函数。
asinh
asinhf
asinhl
反双曲正弦函数。
atanh
atanhf
atanhl
反双曲正切函数。
cosh
coshf
coshl
双曲余弦函数。
sinh
sinhf
sinhl
双曲正弦函数。
tanh
tanhf
tanhl
双曲正切函数。
指数和对数函数:
exp
expf
expl
自然指数函数。
exp2
exp2f
exp2l
2为基数的指数函数。
expm1
expm1f
expm1l
返回(ex-1)的函数。
frexp
frexpf
frexpl
将浮点数分解为规格化小数和2的整数幂的函数。
ilogb
ilogbf
ilogbl
提取int类型指数的函数。
ldexp
ldexpf
ldexpl
返回(x×2exp)的函数。
log
logf
logl
自然对数函数。
log10
log10f
log10l
10为底数的对数函数。
log1p
log1pf
log1pl
返回loge(1+x)的函数。
log2
log2f
log2l
2为底数的对数函数。
logb
logbf
logbl
提取浮点格式指数的函数。
modf
modff
modfl
将参数分解成整数部分和小数部分的函数。
scalbn
scalbnf
scalbnl
scalbln
scalblnf
scalblnl
返回x×FLT_RADIXn的函数。
幂和绝对值函数:
cbrt
cbrtf
cbrtl
立方根函数。
fabs
fabsf
fabsl
绝对值函数。
hypot
hypotf
hypotl
返回x2+y2的函数。
pow
powf
powl
幂函数。
sqrt
sqrtf
sqrtl
平方根函数。
误差和伽玛函数:
erf
erff
erfl
误差函数。
erfc
erfcf
erfcl
互补误差函数。
lgamma
lgammaf
lgammal
计算参数伽玛绝对值的自然对数的函数。
tgamma
tgammaf
tgammal
伽玛函数。
最近整数函数:
ceil
ceilf
ceill
向上取整函数。
floor
floorf
floorl
向下取整函数。
nearbyint
nearbyintf
nearbyintl
根据当前舍入模式舍入为整数值的函数。
rint
rintf
rintl
根据当前舍入模式舍入为整数值的函数。
lrint
lrintf
lrintl
llrint
llrintf
llrintl
根据当前舍入模式舍入为整数值的函数。
round
roundf
roundl
舍入到最近整数值的函数。
lround
lroundf
lroundl
llround
llroundf
llroundl
舍入到最近整数值的函数。
trunc
truncf
truncl
截取整数部分的函数。
余数函数:
fmod
fmodf
fmodl
计算余数函数。
remainder
remainderf
remainderl
计算余数函数。
remquo
remquof
remquol
计算余数函数。
操作函数:
copysign
copysignf
copysignl
复制符号函数。
nan
nanf
nanl
生成安静非数值的函数。
nextafter
nextafterf
nextafterl
确定下一个可表示值的函数。
nexttoward
nexttowardf
nexttowardl
确定下一个可表示值的函数。
最大、最小、正差函数:
fdim
fdimf
fdiml
正差函数。
fmax
fmaxf
fmaxl
确定较大值函数。
fmin
fminf
fminl
确定较小值函数。
浮点乘法加法函数:
fma
fmaf
fmal
浮点乘法加法函数。