/*
问题描述:如果要将整数A转换为B,需要改变多少个bit位
来源:LintCode
作者:syt
问题描述:如果要将整数A转换为B,需要改变多少个bit位
来源:LintCode
作者:syt
日期:2017-8-20
思路:先对a和b进行异或操作,然后计算异或结果中有多少个1
*/
#include <iostream>
using namespace std;
/**
*@param a, b: Two integer
*return: An integer
*/
int bitSwapRequired(int a, int b) {
// write your code here
int count = 0;
int tmp = a^b;
while (tmp != 0)
{
tmp = tmp & (tmp - 1);
count++;
}
return count;
}