플래그는 한 정수 안의 각 비트에 의미를 붙인다

마스크를 정해 두면 한 자리만 켜고, 끄고, 검사하고, 토글할 수 있습니다.

4비트 설정 값 설계

A알림 사용0001
B자동 저장0010
C압축 사용0100
D디버그 출력1000

마스크 조작 규칙

|

켜기

원래 값은 보존하고 원하는 자리만 1로 만듭니다.

settings |= OPTION_C;
&

검사

마스크와 겹치는 비트가 남는지 확인합니다.

(settings & OPTION_C) != 0
&~

끄기

마스크를 반전한 뒤 AND 해서 원하는 자리만 0으로 만듭니다.

settings &= ~OPTION_C;
^

토글

0은 1로, 1은 0으로 뒤집습니다.

settings ^= OPTION_C;
1. 자리 의미 정하기
2. 마스크 상수 만들기
3. OR/AND/XOR 선택
4. 괄호로 의도 고정