输入一个int型数据,计算出该int型数据在内存中存储时1的个数。
题目描述:
输入一个int型数据,计算出该int型数据在内存中存储时1的个数。
输入描述:
输入一个整数(int类型)
输出描述:
这个数转换成2进制后,输出1的个数
示例1
输入
5
输出:
2
代码:
public class Main {
    public static void main(String[] args){
        //键盘输入
        Scanner sc = new Scanner(System.in);
        //当hasNext从缓存中扫描到数字或字串时返回 true;
        while (sc.hasNext()){
            //将值标记为数值
            int num = sc.nextInt();
            //转为二进制
            String a = Integer.toBinaryString(num);
            int count = 0;
            //使用for循环遍历
            for (int i =0; i < a.length(); i++){
                //判断1的个数
                if (a.charAt(i) == '1'){
                    count++;
                }
            }
            //输出1的个数
            System.out.println(count);
            break;
        }
    }
}
//运行时间:28ms
//占用内存:10616k

 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号