两个二进制数多少个位(bit)不同

两个二进制数多少个位(bit)不同

class Solution {
public:
/**
* 获得两个整形二进制表达位数不同的数量
*
* @param m 整数m
* @param n 整数n
* @return 整型
*/
int countBitDiff(int m, int n) {
int diff = m^n;//m与n亦或,不相同的置1
int count = 0;
while(diff)
{
diff = diff&(diff-1);
count++;
}
return count;
}
};

  

上一篇:bzoj 1312: Hard Life 01分数规划+网络流


下一篇:【BZOJ2285】[SDOI2011]保密(分数规划,网络流)