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 个机器架构和实现,它们构建的类型足够大,但它不可能共同点。您可能需要使用一些数据结构来存储您的数字并对其进行操作。
这个,这个和这个例子可能会有所帮助。

相关文章:
  • 没有找到相关文章