华为机试:求int型正整数在内存中存储时1的个数
题目描述
输入一个int型的正整数,计算出该int型数据在内存中存储时1的个数。
输入描述:
输入一个整数(int类型)
输出描述:
这个数转换成2进制后,输出1的个数
示例1
输入
5
输出
2
Java:
1 import java.util.Scanner; 2 3 public class Main { 4 5 public static void main(String[] args) { 6 Scanner sc=new Scanner(System.in); 7 while(sc.hasNext()){ 8 int num = sc.nextInt(); 9 String s = Integer.toBinaryString(num); 10 int count = 0; 11 for(int i = 0; i<s.length();i++){ 12 if(s.charAt(i)=='1'){ 13 count++; 14 } 15 } 16 System.out.println(count); 17 } 18 sc.close(); 19 } 20 21 }