Lun*_*tik 5 algorithm options bitmask bitflags
对这个问题相当模糊的性质表示道歉,我从来没有正式教过编程,谷歌对于像我这样的自助人来说是无用的,因为关键词很模糊.
我正在编写一些函数,将一个选项列表编码并解码为Long,以便它们可以轻松地在应用程序中传递,你知道这样的事情:
1 - Apple
2 - Orange
4 - Banana
8 - Plum
等在这种情况下,数字11代表Apple,Orange和Plum.
我已经有了它的工作,但我看到这一直在使用,所以假设这个技术有一个共同的名称,毫无疑问,目前我所能达到的各种最佳实践和聪明的算法.
编辑:谢谢大家,我知道答案很快就会来:)
Jus*_*ner 12
位标志.这是一种用作Bitmasking的一部分的技术.
0001 - Apple
0010 - Oranage
0100 - 香蕉
1000 - 梅花
每个1都是标记位.
现在,您可以使用这些数字轻松执行按位运算:
if((11 & Apple) == Apple) // The Apple Flag is set
{
// Do Something
}
Run Code Online (Sandbox Code Playgroud)