使用C++计算一个非常大的幂

Compute a very big power using C++

本文关键字:非常 一个 C++ 计算 使用      更新时间:2023-10-16

我有一个非常大的

e.x. 5^4912
double x, y, z;

我使用了z = pow( x, y )函数,但它给了我这样的结果:[1.#INF]

然后,我尝试使用一个在4912中循环的for循环,但它给了我类似的数字

-957893823 

这似乎是垃圾

我该如何解决这样的问题?

内置的数据类型(int、long甚至double)无法保存该计算的结果;所以你不能用这些。

根据具体的使用情况,我建议使用配件库,例如:

  • 大整数库
  • GNU MP Bignum库

为了获得大阶乘并计算大值,请使用BigIntegers
c++中的BigInteger


请参阅此链接:http://www.cplusplus.com/forum/general/108176/