web-dev-qa-db-ja.com

Python and Powers Math

私はPythonを学んでいますが、少し混乱しています。オンラインインストラクターは、特定の数に引き上げようとしているとき^ではなく、演算子**を使用するように言っています。 :

print 8^3

出力は11になります。しかし、私が探している(聞いている)ことは、print 8 ** 3に似ており、512の正解が得られます。

誰かがこれを私に説明できますか? 8 ^ 3が正解であるために512と等しくないのはなぜですか?どのインスタンスで11(8 ^ 3の結果)になりますか?

私はSOを検索しようとしましたが、除算時にモジュラスを取得することに関する情報しか見ていません。

33
Interrupt

演算子^bitwise演算子で、 "bitwise exclusive or"を実行します。
その他: http://wiki.python.org/moin/BitwiseOperators

べき乗演算子は**に等しい8**3のような512です。
参照: http://docs.python.org/reference/expressions.html#the-power-operator

66
behnam

記号はさまざまな演算子を表します。

^はビット単位の排他的論理和または(XOR を表します。

出力の各ビットは、yのビットが0の場合はxの対応するビットと同じであり、yのビットが1の場合はxのビットの補数です。

**は、電力演算子を表します。それは言語が構造化されている方法です。

15
Sam Dolan

それはただ^は、Pythonの「指数」を意味しません。 「ビット単位のXOR」を意味します。 ドキュメント を参照してください。

0
BrenBarn