开发者社区 问答 正文

c++中大数出现误差的问题

代码如下
1.

#include
#include
#include
using namespace std;
int main()
{
int n;

cin>>n;
printf("%0.lf\n",pow(2.0,n));
return 0;
}

测试数据
图片说明
而正确的结果应该是这个数字减2
2.
另外,我也尝试了自己编写一个函数求n次方

#include
using namespace std;
long long po(int x)
{
if(x==0) return 1;
return 2*po(x-1);
}
int main()
{
int n;
cin>>t;
cin>>n;
cout<<po(n)<<endl;
}
return 0;
}

这段代码求出的结果就是正确的
查了一些资料也没搞清楚,请教大神 谢谢 -<-

展开
收起
a123456678 2016-03-09 09:13:20 2134 分享 版权
1 条回答
写回答
取消 提交回答
问答分类:
C++
问答地址: