思路:要知道二进制形式有几个位数字为1,只需要逐位判断即可,从右起最后一位开始,判断一位后移一位,直到判断完所有位为止.判断时,由于二进制形式只有0或1,可以采用x & 1 是否等于1的方式判断

public class Main {
 
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while(sc.hasNext()){
            int num = sc.nextInt();
            int count = 0;
            for(int i=0;i<32;i++){
                if(((num>>i) & 1) ==1){
                    count++;
                }
            }
            System.out.println(count);
        }

    }
}