题解 | #求int型正整数在内存中存储时1的个数#

求int型正整数在内存中存储时1的个数

http://www.nowcoder.com/practice/440f16e490a0404786865e99c6ad91c9

不断右移位,判断个位数是否为 1,统计个数。

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while (sc.hasNext()) {
            int input = sc.nextInt();
            int result = numOfOne(input);
            System.out.println(result);
        }
    }

    private static int numOfOne(int input) {
        int count = 0;
        while (input > 0) {
            if ((input & 1) == 1) {
                count++;
            }
            input >>>= 1;
        }
        return count;
    }
}
全部评论

相关推荐

不愿透露姓名的神秘牛友
昨天 12:05
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务