C/C++常用数学函数

时间:2022-11-26 17:47:25

math.h/cmath(C++)数学函数库

1 三角函数

   double sin (double);

   double cos (double);

   double tan (double);

2 反三角函数

   double asin (double); 结果介于[-PI/2,PI/2]

   double acos (double); 结果介于[0, PI]

   double atan (double); 反正切(主值),结果介于[-PI/2,PI/2]

   double atan2 (double, double); 反正切(整圆值),结果介于[-PI/2,PI/2]

3 双曲三角函数

   double sinh (double);

   double cosh (double);

   double tanh (double);

4 指数与对数

double exp (double);

   double pow (double, double);

  1. double pow (      double base,      double exponent );
  2. long double pow ( long double base, long double exponent );
  3. float pow (       float base,       float exponent );
  4. double pow (      double base,         int exponent );
  5. long double pow ( long double base,         int exponent );

double sqrt (double);

  double log (double); 以e为底的对数

  double log10 (double);ln=log(N),log10(N)

但是没有以2为底的函数。可以用换底公式解决:log2(N)=log10(N)/log10(2)。VS2010中,log(243.0)/log(3.0),计算出的结果实际为4,答案错误。有的时候我使用log(243.0+0.1)/log(3.0)这种格式取对数。



5 取整

   double ceil (double); 取上整

   double floor (double); 取下整

6 绝对值

   double fabs (double);

7 标准化浮点数

   double frexp (double f, int *p); 标准化浮点数, f = x *2^p,已知f求x, p ( x介于[0.5, 1])

   double ldexp (double x, int p); 与frexp相反,已知x, p求f

8 取整与取余

   double modf (double, double*); 将参数的整数部分通过指针回传,返回小数部分

   double fmod (double, double); 返回两参数相除的余数

9 平方根

  1. double sqrt (      double x );
  2. float sqrt (       float x );
  3. long double sqrt ( long double x );