bitwise checklist

비트 연산은 플래그, 마스크, 시프트 목적을 먼저 분리한다

비트 연산자는 빠르지만 의도가 숨기 쉬우므로, 어떤 비트를 읽고 쓰는지 이름과 마스크로 드러내야 한다.

and

비트 확인

x & mask는 특정 비트가 켜졌는지 확인할 때 쓴다.

test flag
or

비트 켜기

x | mask는 기존 값을 보존하면서 필요한 플래그를 켠다.

set flag
xor

비트 토글

x ^ mask는 지정 비트만 반전하지만 의미가 모호하면 함수로 감싼다.

toggle
shift

자리 이동

시프트는 곱셈처럼 보이지만 부호와 범위를 반드시 확인해야 한다.

range check
name

마스크 이름

숫자 리터럴 대신 의미 있는 상수 이름으로 어떤 비트인지 설명한다.

readability