CS
비트 연산자, 연산자 우선순위
2026년 02월 04일 06:27
비트 연산자 & 연산자 우선순위
1. 비트 연산자란?
비트 연산자는 정수 값을 2진수(비트) 단위로 변환한 뒤 연산을 수행하는 연산자이다.
즉, 숫자를 그대로 계산하는 게 아니라 0과 1로 바꿔서 한 칸씩 비교한다.
2. 비트 연산자 종류와 의미
2.1 AND 연산자 &
- 두 비트가 모두 1일 때만 1
- 그 외는 모두 0
예제
4 & 7
100
& 111
-----
100
👉 결과: 4
2.2 OR 연산자 |
- 둘 중 하나라도 1이면 1
예제
4 | 7
100
| 111
-----
111
👉 결과: 7
2.3 XOR 연산자 ^
- 서로 다를 때만 1
- 같으면 0
예제
4 ^ 7
100
^ 111
-----
011
👉 결과: 3
2.4 NOT 연산자 ~
- 모든 비트를 반전
- 0 → 1, 1 → 0
예제
~4
- 4 → 00000100
- ~4 → 11111011
👉 결과: -5 (2의 보수 체계)
2.5 시프트 연산자 <<, >>
왼쪽 시프트 <<
- 비트를 왼쪽으로 이동
- 2배씩 증가
예제
1 << 2
0001 → 0100
👉 결과: 4
오른쪽 시프트 >>
- 비트를 오른쪽으로 이동
- 2로 나누는 효과
예제
4 >> 1
0100 → 0010
👉 결과: 2
3. 연산자 우선순위란?
하나의 식에 여러 연산자가 있을 때 어떤 연산을 먼저 계산할지 정해 놓은 규칙이다.
📌 핵심
우선순위가 높을수록 먼저 계산된다.
괄 → 단 → 산 → 시 → 관 → 비 → 논 → 대
- ( )
- 단항 ++ -- ! ~
- 산술 * / % + -
- 시프트 << >>
- 관계 < <= > >=
- 비트 & ^ |
- 논리 && ||
- 대입 =
