*플래그( Flag ) :
상태를 나타내거나 특정 조건을 추적하기 위해 사용하는 변수 또는 비트를 말한다. 컴퓨터 과학에서 주로 이진수( 0 또는 1 )를 사용하여 특정 상태를 저장하거나 조건을 제어하는 데 사용된다.
비트 왼쪽 시프트 연산자 << 를 사용하여 1을 n만큼 왼쪾으로 이동시킨 후 bitset 라이브러리를 이용하여 8비트 이진수 값으로 변환하는 모습
출력 결과
—
2진수 4비트로 표현한 두 개의 식이 있다.
A = 1010 , B = 1100
*XOR연산 : 두 비트가 다를 때 1을 반환, 같을 때 0을 반환
위의 A, B를 XOR연산 시 >> “0110”
XOR 연산은 ^= 로 동작한다.
items_flag ^= opt2; // 변수opt2와 items_flag를 XOR연산 후 그결과를 변수 items_flag에 저장
items_flag & opt2; // 두 비트가 모두 1인 경우만 결과가 1
*unsigned
는 "부호 없음"을 의미
*unsigned char
는 부호 없는 8비트 정수 타입을 의미\
*&
연산자는 비트 AND 연산입니다, 각 비트를 비교하여, 두 비트가 모두 1
일 때만 결과가 1
*&&
는 논리 AND 연산자입니다, 두 조건이 모두 true
일 때 전체 조건이 true