私はpythonで作業しており、非常に大きな数の累乗を見つけようとしていますが、興味深いことは、これが数学のオーバーフローをスローすることです
math.pow(1000, 1000)
しかし、返された値が正しいかどうかはわかりませんが、これはうまくいくようです
1000**1000
なぜこれが起こるのか知っている人
私はpythonで作業しており、非常に大きな数の累乗を見つけようとしていますが、興味深いことは、これが数学のオーバーフローをスローすることです
math.pow(1000, 1000)
しかし、返された値が正しいかどうかはわかりませんが、これはうまくいくようです
1000**1000
なぜこれが起こるのか知っている人
シンプルなmath.pow()メソッドは C float ライブラリを使用し、**累乗演算子は整数演算を使用します。
2 つの方法には、異なる制限があります。Pythonintのサイズは、OS が Python に許可するメモリの量によってのみ制限されます。浮動小数点数は、コンピューターのアーキテクチャによって制限されます。 を参照してくださいsys.float_info.max。
math.pow :
**組み込み演算子とは異なり、math.pow()両方の引数を type に変換しますfloat。**または組み込み関数を使用して、pow()正確な整数べき乗を計算します。