编程实现:
两个int(32位)整数m和n的二进制表达中,
有多少个位(bit)不同?
输入例子 :
1999 2299
输出例子 : 7
#include <stdio.h>
#include <windows.h>
#pragma warning(disable:4996)
int bit(unsigned int value1, unsigned int value2)
{
int count = 0;
for (int i = 31; i >= 0; i--)
{
if ((value1&(1 << i)) != (value2&(1 << i)))
{
count++;
}
}
return count;
}
int main()
{
int value1 = 0;
int value2 = 0;
scanf("%d %d", &value1, &value2);
printf("%d", bit(value1,value2));
system("pause");
return 0;
}