Taking baby-developer steps

4-2. 연산자 - 비트 연산자 / 연산자 우선순위 본문

CS 지식/C언어_basic

4-2. 연산자 - 비트 연산자 / 연산자 우선순위

Surin Lee 2021. 3. 19. 02:08

비트 연산자

비트 연산자란, 비트 단위의 연산을 하고자 할 때 사용할 수 있는 연산자들을 말한다. 비트 단위의 연산은 다음과 같이 수행할 수 있다.

~ 는 '부정'의 연산자로, 비트 단위 연산에서의 'Not'이다.[cf) 일반적으론 !가 Not의 의미] 부정의 연산자는 각각의 비트 단위 마다 0과 1을 뒤바꾼다.

&는 '그리고'를 뜻하는 연산자로서, 두 비트 중 쉽게 말해, 두개 다 1인 자리만 1값을 가지게 된다. 집합과 관련지어 생각하자면 교집합이라고 생각하면 된다.

|는 '또는'을 뜻하는 연산자로서, 두 비트 중 하나라도 1을 가지면 1값을 가진다. 합집합이라고 생각하면 된다.

^는 '배타적' 연산자로, 둘중 1개만 1일 때 1이 된다. 합집합에서 교집합을 뺀 부분이라고 생각하면 된다.

<< 왼쪽 시프트, >> 오른쪽 시프트 : 바로 뒤에오는 숫자만큼 왼쪽/오른쪽으로 비트를 민다고 생각하면된다. a<<n이라고 할때, a*(2의 n승) 의 값을 결과 값으로 가진다. 반대로 오른쪽 시프트를 수행하면, 2의 n승으로 나눈 값이 반환된다.

연산자 우선순위

 C언어의 연산자 우선순위는 기본적으로 수학에서의 우선순위와 흡사하다.

 

 

Comments