8

私はpythonで作業しており、非常に大きな数の累乗を見つけようとしていますが、興味深いことは、これが数学のオーバーフローをスローすることです

math.pow(1000, 1000)

しかし、返された値が正しいかどうかはわかりませんが、これはうまくいくようです

1000**1000

なぜこれが起こるのか知っている人

4

2 に答える 2

8

シンプルなmath.pow()メソッドは C float ライブラリを使用し、**累乗演算子は整数演算を使用します。

2 つの方法には、異なる制限があります。Pythonintのサイズは、OS が Python に許可するメモリの量によってのみ制限されます。浮動小数点数は、コンピューターのアーキテクチャによって制限されます。 を参照してくださいsys.float_info.max

于 2013-04-12T16:56:45.127 に答える
7

math.pow :

**組み込み演算子とは異なり、math.pow()両方の引数を type に変換しますfloat**または組み込み関数を使用して、pow()正確な整数べき乗を計算します。

于 2013-04-12T16:56:31.263 に答える