위의 이미지에서 좌측의 그림은 위키피디아에 공개된 그림을 사용하였습니다.
(진작에 그럴걸 그랬나봅니다. -_-)
http://en.wikipedia.org/wiki/Xor

Exclusive OR 는 입력되는 값이 0 혹은 1이든 둘이 같으면 0을 출력하고 둘 중 하나만 1이 입력이 되는 경우에는 1을 출력합니다.

이 특성을 이용하여 비트를 반전 시키는데 이용할 수 있습니다.

물론 전체를 반전시키기에는 NOT 연산자처럼 간편한 것이 없겠지요. 하지만 부분적인 반전을 하기에는 XOR 연산이 매우 효과적입니다. 이 뿐만 아니라 Parity Bit와 같은 곳에서도 사용되고 생각보다 정말 많이 사용되는 것이 바로 XOR 연산자입니다.



1 Byte 크기의 비트에서 5번째부터 8번째 비트까지만 반전을 시키고 싶다고 가정을 합니다.
입력되는 값과 관계없이 00001111을 XOR 시키면 됩니다.

11111010과 00001111을 XOR 시키면 아래의 결과를 얻을 수 있습니다.
11110101
5번째부터 8번째 비트까지가 반전이 됩니다.


기초라고 할 수 있는 AND, OR, 그리고 XOR 연산자의 이용 방법에 대해서 알아보았습니다.
지금 당장은 아니겠지만 언젠가 도움이 되는 날이 있을겁니다.



저작자 표시 비영리 변경 금지
신고

'Theory > CA & OS' 카테고리의 다른 글

XOR 연산을 이용한 반전 기법  (2) 2012.02.19
OR 연산을 이용한 기법  (0) 2012.02.17
AND 연산을 이용한 마스킹 기법  (0) 2012.02.16
OS, Segmentation with Paging  (3) 2011.09.13
OS, Segmentation  (0) 2011.09.13
OS, TLB(Transaction Lookaside Buffer)  (0) 2011.09.13
by 가우초 2012.02.19 12:55
| 1 2 3 |