Write a function to determine the number of bits required to convert integer A to integer B.
Input: 31, 14
Output: 2
比较简单,先将a和b异或,这样1的个数就是不同位的个数了。
然后统计1的数量即可。
#include <iostream>
using namespace std;
int bitConvertNum(int a, int b)
{
int count=0;
for(int c=a^b;c!=0;c=c>>1)
{
if(c&1==1)
count++;
}
return count;
}
int main()
{
cout << bitConvertNum(31, 14)<< endl;
return 0;
}