2011-01-17 4 views
0

I가 다음 항목부울 대수 - 항목을 찾았습니까?

애플 = 00000001 (1)

망고 = 00000010 (2)

바나나 = 00000100 (4)

포도 = 00001000 (8)

이제는 사용자가 수행 할 수있는 과일을 저장하고 있습니다.

UserA- 00000001 (Apple) or 00000010 (Apple) Mango) = 00000011 (즉 3)

이제 해당 사용자에게 Apple 또는 Banana가 있는지 확인하고 싶습니다. | = (애플 | 바나나)

예 (00000011) & (00000001 | 00000100) = (00000001 | 00000100)

그러나 그것을 (UserA's-값) & (바나나 애플) : 지금은이를 생각하고까지 작동 안됨 ? 제가 누락 된 부분을 알 수 있습니까?

답변

4

당신은 애플과 바나나를 확인하고 있습니다. 표현식은 (UserA's-Values) & (Apple | Banana)이어야합니다. (! = 0)

0

비트는 Enum 및 Struct에서 저장되고 조작 될 수 있습니다. 열거를 들어

: 구조체를 들어 http://msdn.microsoft.com/en-us/library/cc138362.aspx
는 : .ToString()이 요소의 혼수 상태로 구분 된 목록을 인쇄합니다으로 Bit fields in C#

열거 형은 좋은,하지만 당신은 여전히 ​​조작과에 대한 시험 표준 AND/OR 연산자를 사용합니다.