关于double型小数点位数的问题
我用的是VC2010简单的函数,求x的n次方。
#include<iostream>
using namespace std;
double power(double x,int n)
{
int i;
double h;
h=x;
for(i=2;i<=n;i++)
{
x*=h;
}
if(n==0)
x=1;
return x;
}
void main()
{
int n;
double x,length;
cout<<"请输入x:";
cin>>x;
cout<<"请输入n:";
cin>>n;
length=power(x,n);
cout<<length<<endl;
}
运行时
x=3.1415926
n=2
得出的结果是9.8696
都是double型的,为什么相乘后小数点后位数反而少了?
求解释