알고리즘 문의..

auditory의 이미지

마땅히 제목을 어떻게 달아야할지모르겠네요..

보통 어떤 옵션들의 조합을 저장할때 bitwise 연산을 사용하기도 합니다.

FLAG1=1, FLAG2=2, FLAG3=4
option = FLAG2|FLAG3
option = FLAG1;
option |= FLAG3;
if (option&FLAG3){ do_something;}

이런식으로요..

그런데 혹시 이 옵션이 지정된 순서까지 같이 저장하려면 어떤 방법이 있을까요?
그러니깐 예를들어

option=FLAG1;option|=FLAG3;
option=FALG3;option|=FLAG1;

이 다르게 취급되서 나중에 어떤 옵션이 먼저 지정됐는지 알 수 있는 방법이 있을까요?
별도의 변수를 써야만 가능한 일일까요?
sblade의 이미지

bitwise or 는 교환 법칙을 만족 (commutative) 하기 때문에, 즉 a | b = b | a 이기 때문에 결과를 가지고 순서를 알 수 없습니다. 따로 저장하셔야 합니다.