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++ の BigInteger


このリンクを参照してください: http://www.cplusplus.com/forum/general/108176/

于 2016-07-02T21:03:15.113 に答える