見慣れないと思いますが…
「排他的論理和(eXclusive OR)」の略です。
演算子名でもありますね。
2つの真偽を調べる場合、両方とも真の場合、両方とも偽の場合、片方が真で片方が偽の場合が2パターンの、計4種類の結果があります。
「2つのどちらかが真なら真」の場合は、「OR(論理和)」、「両方が真の場合のみ真」の場合は「AND(論理積)です。
XORの場合は、「片方のみが真で、もう片方が偽」の場合、真を返します。
「両方とも…」の場合は、偽ですね。
二進数のビット演算では、「1100 XOR 1001」なら、「0101」が返ります。
真は1,偽は0ですからね。
どういうときに使うかというと、主に「特定のビットを反転する」場合。
先ほどの例でも、千の位と一の位が、反転していますね。
ビットって、各ビットが「On / Off」を表している場合が多いので、それらを反転する機会は、結構あるのです。
あと…
「自身のXORを取ると、ゼロになる」ことを、利用する場合もあるそうです。
全てのビットが、同じになりますからね。
それにしても、何故「排他的」って言うんでしょうね。
排他的とは、特定の人のみで構成して、部外者を排除する、という意味です。
どうやら、片っぽが真なら片っぽは必ず偽であるところが、「排他的」とされたようですよ。
まぁ、見慣れないとは思いますが、実際の生活では、実はよく出てくパターンです。
例えば、機内食の「Meat or Fish?」
肉か魚の、どちらかを選ぶことが出来ますが、両方は選べませんよね。
両方拒否する人も、ごくわずかでしょう。
この状況が、まさしく「排他的論理和(XOR)」なんですよ。
次の略語は、こちら
kiha-gojusan-hyakusan.hatenablog.com
前の略語は、こちら