public int countBitDiff(int m, int n) {//方法1
int a=m^n;
int num=0;
while(a>0) {
if(a%2==1)
num++;
a/=2;
}
return num;
}
public int countBitDiff1(int m, int n) {//方法2
int a=m^n;
int num=0;
while(a>0) {
num+=a&0x01;
a>>=1;
}
return num;
}
public int countBitDiff2(int m, int n) {//方法3
int a=m^n;
int num=0;
while(a>0) {
a=a&(a-1);
num++;
}
return num;
}
*知识点:求二进制中1的个数
2016校招 第二题懂二进制(三种方法)
最新推荐文章于 2021-07-08 14:28:29 发布