教育改变生活

标题: Java编程-求int型正整数在内存中存储时1的个数 [打印本页]

作者: 一秉    时间: 2020-10-15 22:14
标题: Java编程-求int型正整数在内存中存储时1的个数
题目描述:输入一个int型的正整数,计算出该int型数据在内存中存储时1的个数。
输入描述:输入一个整数(int类型)
输出描述:这个数转换成2进制后,输出1的个数

示例1
输入:5
输出:2
实现代码:
import java.io.InputStream;
public class Main {
    public static void main(String[] args) throws Exception {
        InputStream in = System.in;
        int len;
        byte[] b = new byte[1024];
        while ((len = in.read(b)) > 0) {
            if (len == 1) {break;}
            String str = new String(b,0,len-1);
            int n = Integer.parseInt(str);
            int count = numberOfOne(n);
            System.out.println(count);
        }
    }
     
    private static int numberOfOne(int n) {
        int count = 0;
        while (n != 0) {
            count++;
            n = n & (n-1);
        }
        return count;
    }
}








欢迎光临 教育改变生活 (http://bbs.goldoar.com/) Powered by Discuz! X3.2