1.编程实现: 两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同?
输入例子:1999 2299
输出例子:7
#define _CRT_SECURE_NO_WARNINGS 1
#include
int bit_different(int a, int b)
{
int i = 0;
int j = 0;
int num = 0;
j = a^b;
for (i = 1; i <= 32; i++)
{
if (j & 1 == 1)
{
num++;
}
j = j >> 1;
}
return num;
}
int main()
{
int count = 0;
int num1 = 0;
int num2 = 0;
printf("请输入两个整数:\n");
scanf("%d%d", &num1, &num2);
count = bit_different(num1, num2);
printf("%d\n", count);
return 0;
}