У меня очень большая сила
e.x. 5^4912
double x, y, z;
я использовал z = pow( x, y )
функция, но это дает мне такой результат: [1. # INF]
Затем я попытался использовать цикл for, который зацикливается на 4912, но он дает мне число как
-957893823
что кажется мусором
Как я могу решить такую проблему?
Встроенные типы данных (int, long и даже double) не могут содержать результат этого вычисления; так что вы не можете использовать их.
В зависимости от конкретного случая использования, я бы порекомендовал использовать подходящую библиотеку, например:
Чтобы получить большие факториалы и рассчитать большие значения, используйте BigIntegers.
BigInteger в C ++
Ссылка на эту ссылку:http://www.cplusplus.com/forum/general/108176/