위의 그림은 AND 회로를 표현할 때, 사용하는 기호와 그 진리표입니다.

AND 회로는 입력되는 값 2개가 모두 1로 충족되지 않으면 0을 출력합니다.
기호로는 A * B 로 표현을 합니다.

위의 특성을 이용하여 우리는 프로그래밍적으로 특정 비트 구역을 0으로 세트를 시키는 방법을 이용할 수 있습니다.



1Byte 크기에서 3번째와 5번째를 무조건 0으로 세트시키고 싶은 경우.
11010111
어떠한 비트의 입력이 들어오더라도 위와 같은 마스크와 AND 연산을 처리하면 0으로 세트되는 효과를 볼 수 있습니다.

11111111 과 11010111을 AND 연산을 하면 3번째와 5번째는 1이든 0이든 관계없이 그 결과가 0으로 출력됩니다.
즉, 11010111이 그 결과가 되는 것입니다.


종종 이런 부분을 완전히 무시하는 분들이 계시는데, 유난히 퍼포먼스가 중요한 경우 이러한 지식이 도움이 됩니다.


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

'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

+ Recent posts