题目描述 世界上有10种人,一种懂二进制,一种不懂。那么你知道两个int32整数m和n的二进制表达,有多少个位(bit)不同么? 输入例子: 1999 2299
输出例子: 7
代码语言:javascript复制public class Solution {
/**
* 获得两个整形二进制表达位数不同的数量
*
* @param m 整数m
* @param n 整数n
* @return 整型
*/
public int countBitDiff(int m, int n) {
int data = 1;
int cnt = 0;
int tmp1,tmp2;
for ( int i = 0 ; i < 32 ; i ){
tmp1 = m & data;
tmp2 = n & data;
if ( tmp1 != tmp2){
cnt ;
}
m = m >> 1;
n = n >> 1;
}
return cnt;
}
}