题解 | #求int型正整数在内存中存储时1的个数#
求int型正整数在内存中存储时1的个数
http://www.nowcoder.com/practice/440f16e490a0404786865e99c6ad91c9
应该是最简单易懂的方法,简单题就要简单做 其他方法:1.纯移位 2.公式法 3.api(不推荐,建议少用api)
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
//计数器
int sum = 0;
//灵活运用取余与除操作
while(num != 0){
if(num % 2 == 1){
sum++;
}
num /= 2;
}
//打印结果
System.out.print(sum);
}
}