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

在java中如何以及在何处使用位掩码,java,bitmask,Java,Bitmask,请向我解释如何以及在何处使用java中的位掩码: 我不明白下面的代码: int bitmask=1; if ((bitmask & 1) == 1) // what it does 运算符&的结果值是操作数值的按位AND 这意味着当应用于两个整数(以二进制表示)时,它将产生一个整数,其中每个位将被设置为1,只有当两个位位于相同的位置,其中1,否则为0 int a = 0b01010111; int b = 0b11111111; //result in 0b01

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

我不明白下面的代码:

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

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

这意味着当应用于两个整数(以二进制表示)时,它将产生一个整数,其中每个位将被设置为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)上执行
&
,将自动返回此数字(在这种情况下为1)