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. 연산자 우선순위란?

하나의 식에 여러 연산자가 있을 때 어떤 연산을 먼저 계산할지 정해 놓은 규칙이다.

📌 핵심

우선순위가 높을수록 먼저 계산된다.

괄 → 단 → 산 → 시 → 관 → 비 → 논 → 대

  1. ( )
  2. 단항 ++ -- ! ~
  3. 산술 * / % + -
  4. 시프트 << >>
  5. 관계 < <= > >=
  6. 비트 & ^ |
  7. 논리 && ||
  8. 대입 =