如何以2的幂存储时计算用户选择?

时间:2011-03-13 12:27:46

标签: checkbox user-input

为了演示,我有6个选项供用户选择:

  • 选项1 = 1
  • 选项2 = 2
  • 选项3 = 4
  • 选项4 = 8
  • 选项5 = 16
  • 选项6 = 32

我的用户使用结果值选择这些随机组合:

  • 选项1,4和6(1 + 8 + 32 = 41)
  • 选项2,3和4(2 + 4 + 8 = 14)
  • 选项3和5(4 + 16 = 20)

问题:

  • 这个“方法”叫什么?
  • 如果给出一个数字,比如56,那么确定所选选项的最有效计算是什么?

1 个答案:

答案 0 :(得分:1)

这有点面具。通常,你将它们按位or放在一起,而不是添加。要检查是否设置了特定选项,请使用选项的值and屏蔽该位,并检查非零结果。