1 import java.util.Scanner;
2
3 /**
4 * 功能:位运算,求二进制数中1的个数
5 * 思路:通过每次右移一位,并与1进行与运算,判断该位是否是1,最后统计个数。
6 */
7 public class Main4 {
8
9 public int count(int num) {
10
11 if (num <= 0) {
12 return 0;
13 }
14
15 int count = 0;
16
17 while (num > 0) {
18 if ((num & 1) == 1) {
19 count++;
20 }
21 num = num >> 1;
22 }
23
24 return count;
25 }
26
27 public static void main(String[] args) {
28
29 Main4 main4 = new Main4();
30 Scanner scanner = new Scanner(System.in);
31
32 int num = 0;
33 while (scanner.hasNext()) {
34 num = scanner.nextInt();
35 System.out.println(main4.count(num));
36 }
37 }
38 }