권한 플래그 검사
읽기 권한, 상태 비트, 레지스터 필드처럼 여러 플래그 중 일부만 확인합니다.
AND, OR, XOR, NOT, 시프트는 정수 안의 플래그 배치를 읽고 쓰기 위한 도구입니다.
(flags & mask) != 0처럼 특정 비트가 켜졌는지
검사할 때 사용합니다.
1u << n은 n이 타입 비트 수보다 작고 unsigned일
때만 안전하게 읽힙니다.
읽기 권한, 상태 비트, 레지스터 필드처럼 여러 플래그 중 일부만 확인합니다.
flags |= mask로 설정하고
flags &= ~mask로 해제합니다.
패킷 필드나 색상 채널을 옮길 때는 부호 없는 고정 폭 타입을 우선합니다.
enum class와 named mask를 둡니다.
&, |, ==가 섞이면 반드시
괄호로 의도를 드러냅니다.
std::uint32_t 같은 unsigned 고정 폭 타입으로
바꿉니다.
리뷰 신호 3, 8 같은 매직
넘버와 flags == mask 검사가 보이면 mask 이름, 부분 포함
검사, 시프트 범위를 다시 확인합니다.