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 );
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 平方根
- double sqrt ( double x );
- float sqrt ( float x );
- long double sqrt ( long double x );