请向我解释在java中如何以及在何处使用Bit Mask:
我不明白下面的代码:
int bitmask=1;
if ((bitmask & 1) == 1) // what it does
Run Code Online (Sandbox Code Playgroud)
Jea*_*ard 11
运算符的结果值&是操作数值的按位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
Run Code Online (Sandbox Code Playgroud)
现在,如果你理解我的解释,你向我们展示的例子相当于
if(true)//because 1 == 1 will always be true.
Run Code Online (Sandbox Code Playgroud)
做&两个相同的数字(1和1)会自动返回这个数字(在这种情况下为1).
| 归档时间: |
|
| 查看次数: |
14979 次 |
| 最近记录: |