让我解释,
所以我有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
最佳答案
boolean isSet(int mask, int bit) {
return ((1 << bit) & mask) != 0;
}
例如,此方法将测试指定位置的单个位是否设置为
true
。 (如我错了请纠正我)
关于java - 这个叫什么? (就像二进制文件一样,我认为呢?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19200591/