题目
整数转换。编写一个函数,确定需要改变几个位才能将整数A转成整数B。
示例
输入:A = 29 (或者0b11101), B = 15(或者0b01111)
输出:2
输入:A = 1,B = 2
输出:2
方法1:位运算
统计不同的位数,就是需要改变的位数。
Java实现
class Solution {
public int convertInteger(int A, int B) {
int sum = 0;
for (int i = 0; i < 32; i++) {
if ((A & (1 << i)) != (B & (1 << i))) sum++;
}
return sum;
}
}