这个叫什么? (像二进制文件,我想?)

时间:2013-10-05 17:25:55

标签: java binary option flags

让我解释一下,

所以我有6个选项/标记,每个标记与2 ^ n的数字配对(由于某种原因让我想起二进制文件)

  

1 - 选项1

     

2 - 选项2

     

4 - 选项3

     

8 - 选项4

     

16 - 选项5

     

32 - 选项6

就我而言,我可以选择任意数量的选项,但决定一个数字。

所以我会输入一个数字,并期望根据该数字调用不同的方法

一些例子:

  

3 - 选项1和选项2(1 + 2 = 3)

     

17 - 选项5和选项1(16 + 1 = 17)

     

46 - 选项6,选项4,选项3和选项2(32 + 8 + 4 + 2 = 46)

     

81 - 所有选项(32 + 16 + 8 + 4 + 2 + 1 = 81)

我希望有人之前使用过这种类型的东西和/或可以指引我使用任何资源。在我的情况下,我将使用Java,但我猜它会使用基本的数学,所以它可以被翻译成任何语言。

关于这是什么的任何想法?

-AGK

1 个答案:

答案 0 :(得分:1)

boolean isSet(int mask, int bit) {
    return ((1 << bit) & mask) != 0;
}

例如,此方法将测试指定位置的单个位是否设置为true。 (纠正我,如果我错了)