*플래그( Flag ) :

상태를 나타내거나 특정 조건을 추적하기 위해 사용하는 변수 또는 비트를 말한다. 컴퓨터 과학에서 주로 이진수( 0 또는 1 )를 사용하여 특정 상태를 저장하거나 조건을 제어하는 데 사용된다.

비트 왼쪽 시프트 연산자 << 를 사용하여 1을 n만큼 왼쪾으로 이동시킨 후 bitset 라이브러리를 이용하여 8비트 이진수 값으로 변환하는 모습

비트 왼쪽 시프트 연산자 << 를 사용하여 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