C++完整的学位
C++ full number of degree
本文关键字:C++ 更新时间:2023-10-16
这是一个简单的代码,可以将二数到正确的程度。从大约 60 度开始,答案是不正确的。我需要数 2^200。答案不应该是"1.606938e+60"这样的形式,而应该是数字。如何在C++中做到这一点?
#include <iostream>
using namespace std;
int main()
{
unsigned long long int n,z;
cin>>n;
z=pow(2,n);
cout<<z<<endl;
return 0;
}
你需要
使用std::set_precision(n)
让它以你期望的格式打印,但是如果你的数字足够高,你就会遇到第二个问题。 pow
返回一个双精度,它以巨大的数字在很大程度上失去了精度。有关如何解决此问题的更多信息,请参阅此堆栈溢出答案。
无论如何,
你不能在 c++ 中打印像单个整数或双精度值这样的大数字(还没有(。也许存在大约 256 或 512 个机器架构和实现,它们构建的类型足够大,但它不可能共同点。您可能需要使用一些数据结构来存储您的数字并对其进行操作。
这个,这个和这个例子可能会有所帮助。
相关文章:
- 没有找到相关文章