<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 |
浮点乘法加法函数。 |