求出两个数不同的二进制位数
#include <stdio.h>
int get_diff_bit(int m, int n)
{
int temp = m ^ n;//使用异或,不同的位数变成1
int count = 0;
//对temp的1进行计数
while (temp)
{
temp = temp & (temp - 1);
count++;
}
return count;
}
int main()
{
int m = 0;
int n = 0;
scanf("%d%d", &m, &n);//键盘输入两个数
int count = get_diff_bit(m, n);//获取不同的位数
printf("count=%d\n", count);
}