输入一个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

posted @ 2020-09-21 23:55  降蓝  阅读(185)  评论(0编辑  收藏  举报