/**
* 输入两个整数m和n,计算需要改变m的二进制表示中的多少位才能得到n。
* 思路:第一步求这两个数的异或,第二步统计异或结果中1的位数
*@author: Administrator
*@date: 2017-1-13 下午09:39:25
*/
import java.util.Scanner;
public class Solution4 {
public int CountDifference(int m, int n){
int count=0;
int c=0;
c=m^n;//第一步求这两个数的异或
while(c!=0){//第二步统计异或结果中1的位数
++count;
c=(c-1)&c;
}
return count;
}
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
int m=sc.nextInt();
int n=sc.nextInt();
sc.close();
Solution4 s=new Solution4();
System.out.println(s.CountDifference(m, n));
}
}