/*编程实现:两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同?
输入例子:
1999 2299
输出例子:7*/
#include<stdio.h>
int main()
{
int m=0;
int n=0;
int count=0;
scanf("%d%d", &m, &n);
int ret=m^n;//把二进制中不同的位都变成1。
//算有多少个1。
while(ret)
{
ret=ret&(ret-1);
count++;
}
printf("%d\n", count);
return 0;
}