[기본원리] 오른쪽 쉬프트 : 논리 연산!
- 프로그래밍 정보
- 2010. 7. 12.
반응형
2010/07/12 - [Programing/기본원리] - 오른쪽 쉬프트 연산 : 산술 쉬프트
2010/07/11 - [Programing/기본원리] - 재미있는 쉬프트 연산!
2010/07/10 - [Programing/기본원리] - 2진수의 의미.
2010/07/10 - [Programing/기본원리] - 컴퓨터는 2진수만 취급합니다.
2010/07/11 - [Programing/기본원리] - 2진수의 음수표현법!
오른쪽 쉬프트 연산에는 논리 연산이 있습니다.
그렇다면 산술 연산을 알겠고.... 논리 연산을 뭘까요?
읽기전에 손가락 한번 클릭~ >_<
고마워요 ~ Chu ~ ♥
논리 연산
논리(logic) 연산은 2진수에 있는 각 자리의 0과 1을 개별적으로 취급하는 연산입니다.
여기에는 논리곱(AND) , 논리합(OR), 논리부정(NOT), 배타적 논리합(XOR) 등이 있습니다.
[ 여기에선 가장 기본인 4가지만 소개합니다 ]
차례대로 AND 연산, OR 연산, XOR 연산, NOT 연산 입니다.
처리과정은 이렇습니다.
- AND 는 A, B 모두 1일때만 1을 만들고 그 외에는 모두 0.
- OR 는 A 가 1 또는 B 가 1 일때, 즉 둘중 하나라도 1일때 1을 만들고 그 외에는 모두 0.
- XOR 는 A와 B가 다를때 (1과0) 1을 만들고 같을때 ( 모두1, 모두0 ) 0으로 만듬
- NOT 는 0은 1로 , 1은 0으로 만듬
위와같은 표를 흔히들 진리표 ( Truth Table ) 이라고 부릅니다.
2진수의 0은 거짓( false ) , 1은 참 ( true ) 를 나타내기 때문에,
결국 논리 연산은 참과 거짓을 가려내는 연산이라고도 할 수 있는데요.
그렇기 때문에 논리 연산의 대상은 숫자가 아니게 됩니다.
따라서 논리 연산에는 자리올림 따윈 없습니다 ^^;
논리 연산에서의 핵심은 2진수를 숫자로 생각하지 않을것! 입니다.
잠시 2진수에서 벗어나서 1을 붉은색, 0을 파란색으로 생각해보세요.
이러한 시선으로 보게되면 AND 연산은 부분적으로 0을 만들 수 있습니다.
OR 연산은 부분적으로 1을 만들 수 있겠네요.
NOT 는 반전 시킬 수 있겠고요.
마지막으로 XOR 는 부분적으로 반전할 수 있겠군요!
반응형