题目描述
输入一个int型的正整数,计算出该int型数据在内存中存储时1的个数。
整数在内存中存储是按二进制存储的,所以要转成二进制
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
while(sc.hasNext()){
int input = sc.nextInt();
int count = count1(input);
System.out.println(count);
}
}
public static int count1(int input){
int count=0;
while((input/2)!=0){
if(input%2==1){
count++;
}
input /=2;
}
count++;
return count;
}
}