0

我有很大的力量

e.x. 5^4912

double x, y, z;

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

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

-957893823 

这看起来很垃圾

我怎样才能解决这样的问题?

4

2 回答 2

2

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

根据确切的用例,我建议使用拟合库,例如:

于 2012-09-06T11:13:29.863 回答
0

为了获得较大的阶乘并计算较大的值,请使用 BigIntegers。
C++ 中的大整数


参考这个链接:http ://www.cplusplus.com/forum/general/108176/

于 2016-07-02T21:03:15.113 回答