一、求两个数二进制中不同位的个数
思路:
- 先将m和n进行按位异或,此时m和n相同的二进制比特位清零,不同的二进制比特位为1
- 统计异或完成后结果的二进制比特位中有多少个1
void Dif_bit(int a, int b,int c)
{
c = a^b;
int i = 0;
int count = 0;
for (i = 0; i < 32;i++)
if (c >> i & 1 == 1)
count++;
printf("%d\n", count);
}
int main()
{
int a = 0;
int b = 0;
int c = a^b;
scanf("%d%d", &a, &b);
Dif_bit(a,<