题目描述 世界上有10种人,一种懂二进制,一种不懂。那么你知道两个int32整数m和n的二进制表达,有多少个位(bit)不同么? 输入例子: 1999 2299
输出例子: 7
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;
}
}
转载请注明原文地址: https://ju.6miu.com/read-15476.html