菜单
本页目录

math.h 头文件函数

介绍

math.h 头文件提供了各种数学函数,用于执行基本和高级的数学计算。

以下是该头文件中提供的主要函数列表及其简要描述:

1. 基本数学函数

double sin(double x);

  • 功能:计算角度 x(以弧度为单位)的正弦值。
  • 返回值x 的正弦值。

double cos(double x);

  • 功能:计算角度 x(以弧度为单位)的余弦值。
  • 返回值x 的余弦值。

double tan(double x);

  • 功能:计算角度 x(以弧度为单位)的正切值。
  • 返回值x 的正切值。

double asin(double x);

  • 功能:计算 x 的反正弦值,结果以弧度表示。
  • 返回值x 的反正弦值。

double acos(double x);

  • 功能:计算 x 的反余弦值,结果以弧度表示。
  • 返回值x 的反余弦值。

double atan(double x);

  • 功能:计算 x 的反正切值,结果以弧度表示。
  • 返回值x 的反正切值。

double atan2(double y, double x);

  • 功能:计算 y/x 的反正切值,考虑象限,结果以弧度表示。
  • 返回值y/x 的反正切值。

2. 双曲函数

double sinh(double x);

  • 功能:计算 x 的双曲正弦值。
  • 返回值x 的双曲正弦值。

double cosh(double x);

  • 功能:计算 x 的双曲余弦值。
  • 返回值x 的双曲余弦值。

double tanh(double x)

  • 功能:计算 x 的双曲正切值。
  • 返回值x 的双曲正切值。

double asinh(double x);

  • 功能:计算 x 的反双曲正弦值。
  • 返回值x 的反双曲正弦值。

double acosh(double x);

  • 功能:计算 x 的反双曲余弦值。
  • 返回值x 的反双曲余弦值。

double atanh(double x);

  • 功能:计算 x 的反双曲正切值。
  • 返回值x 的反双曲正切值。

3. 指数与对数函数

double exp(double x);

  • 功能:计算 e(自然对数的底数)的 x 次幂。
  • 返回值e^x 的值。

double log(double x);

  • 功能:计算 x 的自然对数(以 e 为底)。
  • 返回值x 的自然对数。

double log10(double x);

  • 功能:计算 x 的常用对数(以 10 为底)。
  • 返回值x 的常用对数。

double exp2(double x);

  • 功能:计算 2x 次幂。
  • 返回值2^x 的值。

double log2(double x);

  • 功能:计算 x 的以 2 为底的对数。
  • 返回值x 的以 2 为底的对数。

double expm1(double x);

  • 功能:计算 e^x - 1,在 x 逼近 0 时有更高的精度。
  • 返回值e^x - 1 的值。

double log1p(double x);

  • 功能:计算 ln(1 + x),在 x 逼近 0 时有更高的精度。
  • 返回值ln(1 + x) 的值。

4. 幂和平方根函数

double pow(double x, double y);

  • 功能:计算 xy 次幂。
  • 返回值x^y 的值。

double sqrt(double x);

  • 功能:计算 x 的平方根。
  • 返回值x 的平方根。

double cbrt(double x);

  • 功能:计算 x 的立方根。
  • 返回值x 的立方根。

double hypot(double x, double y);

  • 功能:计算欧几里得范数,即 sqrt(x^2 + y^2)
  • 返回值xy 的欧几里得距离。

5. 取整和余数函数

double ceil(double x);

  • 功能:返回大于或等于 x 的最小整数值。
  • 返回值x 的向上取整值。

double floor(double x);

  • 功能:返回小于或等于 x 的最大整数值。
  • 返回值x 的向下取整值。

double fmod(double x, double y);

  • 功能:计算 x 除以 y 的余数。
  • 返回值xy 的值。

double trunc(double x);

  • 功能:截断 x 的小数部分,取整数部分。
  • 返回值x 的截断值。

double round(double x);

  • 功能:四舍五入 x 到最近的整数。
  • 返回值x 的四舍五入值。

long lround(double x);

  • 功能:四舍五入 x,返回长整型结果。
  • 返回值x 的四舍五入长整型值。

long long llround(double x);

  • 功能:四舍五入 x,返回长长整型结果。
  • 返回值x 的四舍五入长长整型值。

6. 其他数学函数

double fabs(double x);

  • 功能:计算 x 的绝对值。
  • 返回值x 的绝对值。

double fma(double x, double y, double z);

  • 功能:计算 (x * y) + z,以单一操作完成,避免精度损失。
  • 返回值:计算结果。

double fmax(double x, double y);

  • 功能:返回 xy 中的较大值。
  • 返回值:较大的值。

double fmin(double x, double y);

  • 功能:返回 xy 中的较小值。
  • 返回值:较小的值。

double frexp(double x, int *exp);

  • 功能:将 x 分解为尾数和指数,使得 x = mantissa * 2^exp
  • 返回值:尾数部分,exp 保存指数部分。

double ldexp(double x, int exp);

  • 功能:计算 x * 2^exp
  • 返回值:计算结果。

double modf(double x, double *iptr);

  • 功能:将 x 分解为整数部分和小数部分。
  • 返回值:小数部分,iptr 保存整数部分。

double copysign(double x, double y);

  • 功能:返回与 x 绝对值相同、符号与 y 相同的值。
  • 返回值:组合后的值。

double nan(const char *tagp);

  • 功能:生成一个表示 “非数字”(NaN) 的值。
  • 返回值:NaN 值。

double nextafter(double x, double y);

  • 功能:返回从 x 开始朝 y 方向移动的下一个可表示的浮点值。
  • 返回值:下一个浮点值。

double remainder(double x, double y);

  • 功能:计算 x 除以 y 的余数,结果可能为负数。
  • 返回值:余数值。

double remquo(double x, double y, int *quo);

  • 功能:计算 x 除以 y 的余数,并存储商的部分信息。
  • 返回值:余数值,quo 保存商的部分信息。

7. 特殊函数

double erf(double x);

  • 功能:计算 x 的误差函数值。
  • 返回值:误差函数值。

double erfc(double x);

  • 功能:计算 x 的余误差函数值,即 1 - erf(x)
  • 返回值:余误差函数值。

double tgamma(double x);

  • 功能:计算 x 的伽玛函数值。
  • 返回值:伽玛函数值。

double lgamma(double x);

  • 功能:计算 x 的伽玛函数的自然对数值。
  • 返回值:伽玛函数自然对数值。

这些函数在数学计算、科学研究和工程应用中非常有用,可用于复杂的数学运算和数据处理。