キャレット演算子 (^) の目的は何ですか?

Susan Sarandon
リリース: 2024-10-22 15:55:03
オリジナル
236 人が閲覧しました

What is the Purpose of the Caret Operator (^)?

Python のキャレット演算子 (^) を理解する

Python でキャレット演算子 (^) に遭遇すると、特にその出力の場合に困惑することがあります。恣意的に見えるかもしれない。この記事は、その本当の目的を明らかにすることを目的としています。

^ は何をするのですか?

キャレット演算子はビットごとの XOR (排他的 OR) 演算を実行し、True と評価されます。引数が異なる場合のみ (一方が True、もう一方が False)。

動作中のビットごとの XOR

簡単な例を考えてみましょう:

<code class="python">>>> 0^0
0
>>> 1^1
0
>>> 1^0
1
>>> 0^1
1</code>
ログイン後にコピー

ビット単位の XOR では、0^0 は 0 に等しく、2 つの同一のバイナリ値 (この場合は 0) の結果が 0 になることを示します。同様に、2 つの同一の 1 も 0 を生成するため、1^1 は 0 に等しくなります。

Python の例での XOR

最初の観察に戻ります:

  • 8^3 は、1000 (8 のバイナリ) XOR 0011 (3 のバイナリ) の結果が次になるため、11 を出力します。 1011。11 (10 進数) として表されます。
  • 8^0 は、0 と XOR された値は変化しないため、8 を出力します。
  • 7^7 は、111 (7 の 2 進数) XOR のため 0 を出力します。 111 は 000 (0 を表す 2 進数) に相当します。

結論

Python のキャレット演算子はビット単位の XOR 演算を実行し、引数が異なる場合にのみ True を生成します。これは整数とビット文字列の両方に適用でき、バイナリ値を操作するための強力なツールを提供します。その動作を理解すると、Python プログラミング タスクでその機能を効果的に利用できるようになります。

以上がキャレット演算子 (^) の目的は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!