우선 Exclusive-OR, Exclusive-NOR 에서 Exclusive는 논리회로에서 '상호 배타적'이란 뜻을 담고 있다. 이 뜻을 통해 성질을 유추해보자면 XOR는 입력한 값이 상호 배타적인 경우(서로 다른 경우를 말한다) 1을, 서로 같은 경우 0을 결과로 갖는다.
XOR
그래픽 기호는 위와 같고 수학적 기호는
좀 더 자세한 내용은 다음을 참고하면 된다.
2015/06/24 - [컴퓨터구조] - 디지털 논리 게이트 그래픽 기호
2015/07/03 - [컴퓨터구조] - 표준 논리게이트 NAND 게이트, NOR 게이트
XNOR
XOR와 보수관계다. 보수관계는 진리표의 결과에 NOT을 붙이면 같은 진리표가 나온다. 따라서 XNOR의 그래픽 기호는 다음과 같다.
수학적 기호는 따로 없고 XOR의 보수를 취한다.
정리하면
XOR는 두 입력 값이 상호 배타적인 경우 1을, 아닌 경우 0을
XNOR는 두 입력 값이 서로 같은 경우 1을, 아닌 경우 0을 출력한다.
수식으로 알아보는 특징
두 논리연산에 대해 좀 더게 알아보자.
XOR, XNOR연산은 AND나 NOR와 달리 항상 두 입력 값 모두를 알아야지 결과를 알 수 있다. 예를 들어 OR연산의 경우 두 값 중에 하나의 입력이 1이 되면 다른 입력은 볼 필요 없이 결과가 1이 되고, AND의 경우 두 입력 값 중 하나의 값이 0이 되면, 다른 입력 값은 볼 필요도 없이 결과가 0이 된다. 좀 쉽게 말해 AND는 0에 가중치를 더 주는 연산이고, OR는 1에 가중치를 더 주는 연산이라고 볼 수 있다.(입력 값의 가중치)
반면에, XOR와 XNOR의 경우는 두 값을 전부 알아야 결과를 알 수 있다. 0인지 1인지가 중요한 게 아니라 같은지 아닌지의 비교가 더 중요한 연산이다. 0과 1의 가중치는 동일하다고 볼 수 있고, 이런 성질을 통해 다음과 같은 식을 이해할 수 있다.
중간에 있는 두식은 너무 당연한 결과고, 세 번째 줄의 두 식은 진리표를 놓고 이해해 보면 간단히 이해된다.
NAND게이트로 구현한 XOR
XOR를 NAND게이트로만 구현하려면 4개의 NAND게이트가 필요하다