#includestdio.h//计算两个数二进制中的不同位的个数////int count_diff_bit(int m, int n)//{//int i = 0,count=0;//for (; i 32; i++)//{//if ((n % 2) != (m % 2))//count++;//n /= 2, m /= 2;//}// return count;////}//int count_diff_b
#include<stdio.h>
//计算两个数二进制中的不同位的个数
//
//int count_diff_bit(int m, int n)
//{
// int i = 0,count=0;
// for (; i < 32; i++)
// {
// if ((n % 2) != (m % 2))
// count++;
// n /= 2, m /= 2;
// }
// return count;
//
//}
//int count_diff_bit(int m, int n)
//{
// int count = 0;
// for (int i=0;i<32;i++)
// {
// if ((m & 1) != (n & 1))
// count++;
// m = m >> 1, n = n >> 1;
// }
// return count;
//}
int count_diff_bit(int m, int n)
{
int count = 0;
int t = m ^ n;
while(t )
{
count++;
t = t & (t - 1);
}
return count;
}
int main()
{
int m = 0, n = 0;
scanf("%d %d", &m, &n);
int count = count_diff_bit(m, n);
printf("%d\n", count);
return 0;
}