如果要将整数n转换为m,需要改变多少个bit位?
样例
Example 1:
Input: n = 31, m = 14
Output: 2
Explanation:
(11111) -> (01110) there are two different bits.
Example 2:
Input: n = 1, m = 7
Output: 2
Explanation:
(001) -> (111) will change two bits.
注意事项
Both n and m are 32-bit integers.
class Solution {
public:
/**
* @param a: An integer
* @param b: An integer
* @return: An integer
*/
int bitSwapRequired(int a, int b) {
// write your code here
int num = a ^ b;
int count = 0;
while(num)
{
count++;
num &= (num -1);
}
return count;
}
};