2011-03-13 2 views
0

, 나는 6 옵션을 사용할 수 있습니다에서 :2의 거듭 제곱에 저장된 사용자 선택을 계산하는 방법은 무엇입니까? 사용자가 선택할 수 있도록 데모

  • 옵션 1 = 1
  • 옵션 2 = 2
  • 옵션 3 = 4
  • 옵션 4 = 8
  • 옵션 5 = 16
  • 옵션 6 = 32

내 사용자는이 가시를 선택 얻어진 값 ndom 조합 :

  • 옵션 1, 4, 6 (1 + 8 + 32 = 41)
  • 옵션 (2, 3, 4) (2 + 4 + 8 = 14)
  • 옵션 (3) (4 + 16 = 20) 5

질문 :이 "방법"무슨

  • 이라고?
  • 숫자가 주어지면 (예 : 56) 선택된 옵션을 결정하는 데 가장 효율적인 계산은 무엇입니까?

답변

1

비트 마스크입니다. 일반적으로 추가하는 것이 아니라 비트로 or을 함께 사용합니다. 특정 옵션이 설정되어 있는지 확인하려면 옵션 값으로 and을 비트로 마스크하고 0이 아닌 결과를 확인하십시오.

관련 문제