排他的論理和(XOR)
論理演算だよ
2つのうち1つだけが真なら真、そうでなければ偽になるよ
簡単に書くよ
排他的論理和(XOR)(読:ハイタテキロンリワ 英:exclusive disjunction)とは
「真(true)」と「偽(false)」のどっちになるかな?を判定する演算(論理演算)のひとつ
であり
「2つのうち1つだけ『真』だったら『真』になるよ。それ以外は『偽』になるよ」なやつ
です。
詳しく書くよ
順番に見ていきましょう。
まずは予備知識として「論理演算」について説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。
論理演算は「真(true)」と「偽(false)」のどっちになるか判定する演算です。
普通の足し算とか引き算では数字が出てきますよね。
論理演算では数字は出てきません。
出てくる値は「真(true)」と「偽(false)」だけです。
ただし、コンピュータの世界では
1:真(true)
0:偽(false)
と見なすことが多かったりします。
例えば
1 AND 0
であれば
真 AND 偽
を意図しています。
※あくまで「見なすことが多い」というだけで実際には決めの問題です。例えば「0:真」「1:偽」として扱うという独自ルールを決めていることもあり得ます。
論理演算で出てくる値は「真(true)」と「偽(false)」だけです。
計算結果も「真(true)」と「偽(false)」のどちらかになります。
「演算」というと値に対して何かするイメージを持つでしょうけどね。
あまり、そのイメージにとらわれない方が良いと思います。
何かがあります。
それに対して何かをします。
その結果が「真(true)」になるか「偽(false)」になるか判定するのが論理演算です。
以上を踏まえて
2つの命題のうち、1つだけが真であれば真、そうでなければ偽と判定する論理演算
が「排他的論理和」です。
例えば1問50点の問題が2問あるテストで50点のときだけ認めてくれるやつです。
「XOR(エックスオア)」と表現されることも あります。
試しに2つの値の組み合わせで考えてみましょう。
論理演算において、2つの値の組み合わせは
1.「0(偽)」-「0(偽)」
2.「0(偽)」-「1(真)」
3.「1(真)」-「0(偽)」
4.「1(真)」-「1(真)」
の4パターンあり得ます。
それぞれの排他的論理和は
1.「0(偽)」XOR「0(偽)」→「0(偽)」
2.「0(偽)」XOR「1(真)」→「1(真)」
3.「1(真)」XOR「0(偽)」→「1(真)」
4.「1(真)」XOR「1(真)」→「0(偽)」
です。
片方だけが「1(真)」だったら「1(真)」になります。
一言でまとめるよ
まぁ「排他的論理和(XOR)」って単語が出てきたら「2つのうち1つだけが真であれば真、そうでなければ偽になるんだな~」と お考えください。






