0

Python で指数を計算するには、次の**コマンドを使用します。たとえば、x**3x の立方体を入力します。Python はそのような多項式をどのように評価しますか? この計算では 3 フロップが使用されますか? 非整数指数はどうですか?と言うx**2.3

4

1 に答える 1

8

**オペレーターはバイトコード内のオペコードに変換し、BINARY_POWERインタープリターはそれを3 番目の引数が None に設定された C-APIPyNumber_Power呼び出しに変換します。

PyNumber_Powerオペランドのnb_powerスロットを呼び出します ( を参照ternary_op)。

両方が整数の場合、int_powC 関数は成功し、その結果が使用されます。

ただし、 が整数xで累乗として使用する場合2.3、整数累乗関数はエラーを発生させ、float_pow次に試行されます。その場合、xが 0 より大きい場合、C ライブラリpow()関数は 2 つの float 値で使用され、ほとんどのアーキテクチャでは CPU の浮動小数点サポートによって処理されます。

于 2013-03-19T14:45:03.880 に答える