1. 程式人生 > 其它 >求int型正整數在記憶體中儲存時1的個數

求int型正整數在記憶體中儲存時1的個數



描述

輸入一個 int 型的正整數,計算出該 int 型資料在記憶體中儲存時 1 的個數。   資料範圍:保證在 32 位整型數字範圍內

輸入描述:

 輸入一個整數(int型別)

輸出描述:

 這個數轉換成2進位制後,輸出1的個數

import java.util.*;

// 注意類名必須為 Main, 不要有任何 package xxx 資訊
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的區別
        while (in.hasNext()) { // 注意 while 處理多個 case
            int a = in.nextInt();
            String s = Integer.toBinaryString(a);  //關鍵是利用API將數字的十進位制轉化為二進位制,當然也可以手動計算
            int i = 0;
            int sum =0;
            while(i<s.length())
            {
                if(s.charAt(i)=='1')    //遍歷統計字元1的個數
                    sum++;
                i++;
            }
            System.out.println(sum);
        }
    }
}