C언어

Hagi 2012. 1. 17. 16:49

(출처 :  http://ko.wikipedia.org/wiki/%EB%B0%B0%ED%83%80%EC%A0%81_%EB%85%BC%EB%A6%AC%ED%95%A9 )


배타적 논리합 (exclusive or)은 수리 논리학에서 주어진 2개의 명제 가운데 1개만 참일 경우를 판단하는 논리 연산이다. 약칭으로 XOR, EOR, EXOR라고도 쓴다.


예시

“내 키는 160cm 이상이다.”와 “내 몸무게는 60kg 미만이다.” 이 두 명제의 배타적 논리합은, “내 키는 160cm 이상이고 몸무게는 60kg 이상이다. 혹은, 내 키는 160cm 미만이고 몸무게는 60kg 미만이다.”가 된다.

추가로, 두 명제 A,B 에 대한 교집합 (A  B)가 공집합이면, 배타적 논리합은 논리합과 같게 된다. 예를 들어, A = “내 키는 160cm이다.”와 B = “내 키는 170cm이다.”는 동시에 성립할 수 없기 때문에(교집합이 없음), (A xor B)와 (A  B)는 동일하게 “내 키는 160cm와 170cm 중 하나다.”가 된다.


진리표

명제 P명제 QP ⊻ Q
거짓
거짓
거짓
거짓거짓거짓

비트간 배타적 논리합

0011_{(2)} \oplus 0110_{(2)} = 0101_{(2)} .