排他的論理和
読み:はいたてき-ろんりわ
外語:EOR

 論理演算における演算の一つ。
目次

概要
 一般には二項演算だが、二つ以上であれば、その数は問わない。
 二つ以上の入力のうち、(true)が奇数個なら真(true)、偶数個なら(false)を返す。
 
 日常では、階段の電灯のスイッチが、排他的論理和の代表的なものである。

論理回路
 排他的論理和は、論理積(AND)/論理和(OR)/論理否定(NOT)を組み合わせて作ることができる。
 二入力であれば、論理式は次のようになる。
 OUT = ( ̄(A)∧B) ∨ (A∧ ̄(B))
 この通りに回路を作るとすると、少なくともNOTとANDが二つ、ORが一つ必要となる複雑な回路である。
 
 少し工夫し、先にORをしてしまうと、NOTが一つ少なく済む。
 OUT = (A∨B) ∧ ( ̄(A∧B))
 

記述方法

演算子
 演算子は一般に○の中に加算記号+を書いたもの「〓」が使われる。
 また、論理和記号の∨に下線「〓」も使われる。
 英語での表記は、XOR、EOR、EXOR、のいずれかで記述するのが一般的である。

ビット演算
 プログラムで記述する場合、CC++Javaでは「x = a ^ b」のように、BASICでは「X = A Xor B」のように使う。
 二つの式の真偽が同じ場合に偽、真偽が異なる場合に真となる。実際の用法としては、ビット列の反転を行なう場合に使われる。
 8ビットデータ中の下位4ビットを反転する例。outdata = indata ^ 0x0f;

再検索