二進位制數中1的個數
阿新 • • 發佈:2018-12-20
題目
輸入一個整數,輸出該數二進位制數1的個數
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int n = scan.nextInt(); /* * 法1:1移位比較 */ int count = 0; for (int i = 0; i < 32; i++) { if((n&(1<<i))==(1<<i)){ count++; } } System.out.println(count); /* * 法2:原數值移位比較 */ count = 0; for (int i = 0; i < 32; i++) { if(((n>>>i)&1)==1){ count++; } } System.out.println(count); /* * 法3:原數值逐步消1 */ count = 0; while(n!=0){ n = (n-1)&n; count++; } System.out.println(count); } }