思路:要知道二进制形式有几个位数字为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);
}
}
}