public static void main(String[] args) {
int h = 12, length = 6;
System.out.println(test(h, length));
}
public static int test(int h, int length) {
return h & (length - 1);
int h = 12, length = 6;
System.out.println(test(h, length));
}
public static int test(int h, int length) {
return h & (length - 1);
}
1.理解&运算符(位运算符,两边可以是boolean也可以是int)
2.&两边是int类型所以先转换成二进制数据然后进行计算
3.得到的两个二进制数据比较,遇到有一个为0就是0然后得到一个二进制数据然后转换为10进制
12 转二进 制 :00001100
6-1转二进 制 :00000101
二进制的结果:00000100
转换为10进制:4
所以结果为:4