在 java 中如何以及在何处使用位掩码

How and Where to use Bit Mask in java

请向我解释在 java 中如何以及在何处使用位掩码:

我不明白下面的代码:

int bitmask=1;    
if ((bitmask & 1) == 1) // what it does

其他问题不能准确回答为什么?

运算符 & 的结果值是操作数值的按位与。

这意味着当应用于两个整数(以二进制表示)时,它将产生一个整数,其中每个位将设置为 1 只有当两个位都在相同的位置时为 1,否则为 0。

int a =     0b01010111;
int b =     0b11111111;
//result in 0b01010111

System.out.println(a & b);//print 87 which is decimal representation of 0101 0111

现在如果你理解我的解释,你给我们看的例子就等同于

if(true)//because 1 == 1 will always be true.

因为对两个相同的数字(1 和 1)执行 & 将自动 return 这个数字(在这种情况下为 1)。