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);
- double pow ( double base, double exponent );
- long double pow ( long double base, long double exponent );
- float pow ( float base, float exponent );
- double pow ( double base, int exponent );
- long double pow ( long double base, int exponent );
但是没有以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 平方根
- double sqrt ( double x );
- float sqrt ( float x );
- long double sqrt ( long double x );