#include<stdio.h>
#include<stdlib.h>
//两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同
int bit_compare(int n, int m)
{
int i = 0;
int count = 0;
for ( i = 0; i < 32; i++)
{
if (((n >> i) & 1) == 1 && ((m >> i) & 1) != 1 || ((n >> i) & 1) == 0 && ((m >> i) & 1) != 0)
{
count++;
}
else
{
;
}
}
return count;
}
int main()
{
int n = 20;
int m = 25;
printf("%d",bit_compare(n, m));
system("pause");
return 0;
}
C语言:两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同
