排他的論理和
読み:はいたてき-ろんりわ
外語: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、のいずれかで記述するのが一般的である。
ビット演算
プログラムで記述する場合、
C
、
C++
、
Java
では「x = a ^ b」のように、
BASIC
では「X = A Xor B」のように使う。
二つの式の真偽が同じ場合に偽、真偽が異なる場合に真となる。実際の用法としては、ビット列の反転を行なう場合に使われる。
8ビットデータ中の下位4ビットを反転する例。outdata = indata ^ 0x0f;
再検索