描述
世界上有10种人,一种懂二进制,一种不懂。那么你知道两个int32整数m和n的二进制表达,有多少个位(bit)不同么?
示例1
输入:
3,5
复制返回值:
2
复制说明:
3的二进制为11,5的二进制为101,总共有2位不同
示例2
输入:
1999,2299
复制返回值:
7
描述
世界上有10种人,一种懂二进制,一种不懂。那么你知道两个int32整数m和n的二进制表达,有多少个位(bit)不同么?
示例1
输入:
3,5
复制返回值:
2
复制说明:
3的二进制为11,5的二进制为101,总共有2位不同
示例2
输入:
1999,2299
复制返回值:
7
import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param m int整型
* @param n int整型
* @return int整型
*/
public int countBitDiff (int m, int n) {
// write code here
int ans = 0;
while(m != 0 || n != 0) {
if((m & 1) != (n & 1)) {
ans++;
}
m >>= 1;
n >>= 1;
}
return ans;
}
}