私は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()
正確な整数べき乗を計算します。