求int型正整數在記憶體中儲存時1的個數
阿新 • • 發佈:2022-04-22
描述
輸入一個 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); } } }