비트 연산자

비트 연산자는 정수 값을 비트 패턴으로 다룹니다

&, |, ^, ~, <<, >>는 산술값의 의미보다 각 자리의 0과 1을 직접 조작할 때 사용합니다.

AND

필요한 비트만 남김

마스크와 함께 쓰면 특정 플래그가 켜졌는지 확인할 수 있습니다.

flags & mask
OR

비트를 켬

기존 상태를 유지하면서 원하는 플래그를 추가할 때 사용합니다.

flags | mask
XOR

다른 자리만 켬

토글이나 차이 비교처럼 두 비트가 다를 때만 1을 만듭니다.

bits ^ mask
SHIFT

자리를 이동

왼쪽 시프트는 2의 거듭제곱 배수와 연결되지만 범위 초과를 주의해야 합니다.

1 << n
논리와 구분&와 &&, |와 ||는 결과 타입과 평가 방식이 다릅니다.
마스크 이름의미 있는 상수 이름으로 어떤 비트를 다루는지 드러냅니다.
부호부호 있는 정수의 시프트와 오버플로는 특히 조심해서 다룹니다.