<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 | 表示至少与double、float_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 |
的反正切函数。 |
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 |
返回的函数。 |
frexp frexpf frexpl |
将浮点数分解为规格化小数和2的整数幂的函数。 |
ilogb ilogbf ilogbl |
提取int类型指数的函数。 |
ldexp ldexpf ldexpl |
返回的函数。 |
log logf logl |
自然对数函数。 |
log10 log10f log10l |
以10为底数的对数函数。 |
log1p log1pf log1pl |
返回的函数。 |
log2 log2f log2l |
以2为底数的对数函数。 |
logb logbf logbl |
提取浮点格式指数的函数。 |
modf modff modfl |
将参数分解成整数部分和小数部分的函数。 |
scalbn scalbnf scalbnl scalbln scalblnf scalblnl |
返回的函数。 |
cbrt cbrtf cbrtl |
立方根函数。 |
fabs fabsf fabsl |
绝对值函数。 |
hypot hypotf hypotl |
返回的函数。 |
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 |
浮点乘法加法函数。 |