ビットごとの XOR (排他的 OR): キャレット演算子の公開
Python では、キャレット (^) 演算子はビットごとの排他的 OR 演算を表します。 。引数が異なる場合 (True が 1 つ、False が 1 つ) に限り、True と評価されます。この演算はバイナリ値に適用でき、出力もバイナリ値になります。
説明のために、次の例を考えてみましょう:
<code class="python">>>> 0^0 0 >>> 1^1 0 >>> 1^0 1 >>> 0^1 1</code>
これらの例は、^ 演算子が返すことを示しています。両方の入力が等しい (True または False) 場合は 0、入力が異なる場合 (1 つは True、もう 1 つは False) は 1 です。
前に確認した出力に戻ります。
<code class="python">>>> 8^3 11</code>
ビット単位この場合の XOR 演算は次のように分解できます。
1000 # 8 (binary) 0011 # 3 (binary) ---- # APPLY XOR ('vertically') 1011 # result = 11 (binary)
したがって、8^3 の結果は 2 進値 1011 となり、これは 10 進値 11 に変換されます。
、Python のキャレット演算子はビットごとの排他的 OR 演算を実行し、入力が異なる場合は True を返し、入力が同じ場合は False を返します。この操作を 2 進数に適用して、新しい 2 進値を変更または作成できます。
以上がPython の二項演算でキャレット演算子 (^ XOR) は何をしますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。