XOR 【eXclusive OR】 排他的論理和 / EOR / EX-OR
概要
XOR(eXclusive OR)とは、論理演算の一つで、二つの命題のいずれか一方のみが真のときに真となり、両方真や両方偽のときは偽となるもの。論理回路や2進数の数値の場合は、二つの入力のうち片方のみが1であるときのみ出力が1となり、両方1や両方0の場合は0となる。論理和(OR演算)に似ているが、論理和では「いずれか一方が真」なら他方が何であれ結果は真となるが、排他的論理和では「いずれか一方のみが真」の場合に真となる。両者共に真の場合は真とならないことを「排他的」と表現している。
三入力以上の場合は、まず二つを選んでXORを取り、その結果と残りの一つを選んでXORを取り、という手順を繰り返すことで結果を得ることができる。入力における真の数が奇数個のときに出力が真に、偶数個のとき偽となる。
論理学では記号「⊻」を用いて「P⊻Q」のように表記し、電子工学(論理回路)では記号「⊕」を用いて「P⊕Q」のように表す。XOR演算を行う論理回路を「排他的論理和回路」「XOR回路」「XORゲート」などと呼ぶ。
多くのプログラミング言語でもビットごとのXOR演算を行う演算子が用意されており、キーワード「xor」を用いて「P xor Q」と書くものや、C言語に倣って「^」(ハット、キャレット)記号を用いて「P^Q」と表記する言語が多い。
あるビットが「0」のとき、「1」とXORを取ると「1」になるが、元の値が「1」なら結果は「0」になる。すなわち、「1とXORを取る」という演算は「そのビットの値を反転する」という操作になる。これを利用して、反転したい位置を「1」にセットしたビット列を用いて、入力値の特定のビットのみを反転させるという操作がよく用いられる。
(2023.8.11更新)
関連用語
他の辞典による解説 (外部サイト)
試験出題履歴
この記事を参照している文書など (外部サイト)
- 静岡県静岡市立静岡科学館 サイエンスフェスティバル in る・く・る 2023 「青少年のための科学の祭典」第27回静岡大会「実験解説集 - 暗号化してみよう
」(PDFファイル)にて参照 (2023年8月)
- 大阪医科薬科大学「医師会報第59号 ホームページの広場
」(PDFファイル)にて引用 (2023年3月)