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 }