信息交流、传播、提炼

nice to meet you

博客园 首页 新随笔 联系 订阅 管理
数学计算的公式具体实现是放在math.h里,具体有: 
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 sqrt (double); 
double log (double); 以e为底的对数 
double log10 (double);
c++中自然对数函数:log(N)   以10为底:log10(N)但没有以2为底的函数但是可以用换底公式解 决:log2(N)=log10(N)/log10(2)
5 取整 
double ceil (double); 取上整  ceil(1.2)=2、ceil(1.5)=2、ceil(-1.2)=-1、ceil(-1.5)=-1
double floor (double); 取下整  floor(1.2)=floor(1.5)=1、floor(-1.2)=floor(-1.5)=-2
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); 返回两参数相除的余数  source: 《C & C++ Code Capsules》 
9 平方根  sqrt
10 round四舍五入
double round(double v, int p)
{
  v *= pow(double(10),int(p));
  v = int(v+0.5);
  v /= pow(double(10),int(p));
  return v;
}
int round(fload f)
{
if ((int)f+0.5>f)
return (int)f;
else
return (int)f + 1;  
}
在C#中Math.Round(1.5)=2、Math.Round(-1.5)=-2 、Math.Round(1.49)=1
posted on 2011-12-12 00:42  seeyou  阅读(342)  评论(0)    收藏  举报