首页 新闻 会员 周边 捐助

关于C语言中的pow()函数的精度问题,pow(14,15)的大数的计算有较大的误差?

-1
悬赏园豆:10 [待解决问题]

一下的三种方法都试验过了,都不行,感觉是编译器的问题!不知有没有大神做过pow函数的大数运算的修正方法,或者说windows系统自带的计算器的计算方法是如何实现的?先谢谢了!标准答案:POW(14,15)=155568095557812224

double MyPow_double(double Num,int N)
{
  double Res=1.0;
  int i=0;
  for(i=0;i<N;i++)
  {
    Res*=Num;
  }
  return Res;
}
double MyPOW(int Num,int N)
{
  double Res=1.0,Temp=0.0;
  int i=1;
  while(N!=0)
  {
    Temp=Res;
    for(i=1;i<Num;i++)
    {
      Res+=Temp;
    }
     N--;
  }
  return Res;
}
double number_power(const double n,int k)
{
  static double num=1;
  num=num*n;
  if(k>1)
  {
    k--;
    number_power(n,k);
  }
  return num;
}

小淼博客的主页 小淼博客 | 菜鸟二级 | 园豆:359
提问于:2016-10-31 12:56
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册