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

时间:2012-09-06 10:58:50

标签: c++ pow

我有很大的力量

e.x. 5^4912

double x, y, z;

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

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

-957893823 

这似乎是垃圾

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

2 个答案:

答案 0 :(得分:2)

内置数据类型(int,long和even double)不能保存该计算的结果;所以你不能使用这些。

根据具体用例,我建议使用拟合库,例如:

答案 1 :(得分:0)

为了获得大的因子并计算大值,请使用BigIntegers C ++中的BigInteger


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