<分区>
请向我解释如何以及在何处使用 java 中的位掩码:
我不明白下面的代码:
int bitmask=1;
if ((bitmask & 1) == 1) // what it does
其他问题不能准确回答为什么?
<分区>
请向我解释如何以及在何处使用 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)上执行 &
将自动返回此数字(在这种情况下为 1)。
关于java - 如何以及在何处使用 Java 中的位掩码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29585720/