#define HUNGRY = 0x1 // 16진수를 사용하여 표현하는 것이 일반적임
#define THURSTY = 0x2 // 0x1, 0x2, 0x4, 0x8, 0x10, 0x20, 0x40, ...
#define ... = 0x4
.
.
.
#define ... = 0x10
#define ... = 0x20
#define ... = 0x40
#define ... = 0x80
#define ... = 0x100
#define ... = 0x200
.
.
.
// 비트 곱(&), 합(|), xor(^), 반전(~)
// 비트 단위로 연산을 진행
// & : 둘 다 1인 경우 1
// | : 둘 중 하나라도 1인 경우 1
// ^ : 같으면 0, 다르면 1
// ~ : 1은 0으로, 0은 1로
// 특정 상태를 비트 연산으로 나타내기
unsigned int status = 0;
status |= HUNGRY;
status |= THURSTY;
// 특정 자리의 비트 제거 (1일 경우 0으로 변환시키는 연산)
status &= ~HUNGRY;