Pow — вычислить очень большую мощность, используя переполнение стека

У меня очень большая сила

e.x. 5^4912

double x, y, z;

я использовал z = pow( x, y ) функция, но это дает мне такой результат: [1. # INF]

Затем я попытался использовать цикл for, который зацикливается на 4912, но он дает мне число как

-957893823

что кажется мусором

Как я могу решить такую ​​проблему?

0

Решение

Встроенные типы данных (int, long и даже double) не могут содержать результат этого вычисления; так что вы не можете использовать их.

В зависимости от конкретного случая использования, я бы порекомендовал использовать подходящую библиотеку, например:

2

Другие решения

Чтобы получить большие факториалы и рассчитать большие значения, используйте BigIntegers.
BigInteger в C ++


Ссылка на эту ссылку:http://www.cplusplus.com/forum/general/108176/

0

По вопросам рекламы [email protected]