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

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

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

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int num = scanner.nextInt();
        scanner.close();// Scanner 对象从控制台读取输入后,及时关闭它可以避免资源泄漏
        int count = 0;
        while (num!= 0) {
            count += num & 1;//先按位与运算,它将变量 num 与数字 1 进行按位与操作。如果 num 是奇数,结果为 1;如果 num 是偶数,结果为 0。例如,当 num = 5(二进制为 101)时,5 & 1 的结果为 1;当 num = 6(二进制为 110)时,6 & 1 的结果为 0。
            num >>>= 1;//在 Java 中是无符号右移赋值操作。
        }
        System.out.println(count);
    }
}

全部评论

相关推荐

牛客92804383...:在他心里你已经是他的员工了
点赞 评论 收藏
分享
fRank1e:吓得我不敢去外包了,但是目前也只有外包这一个实习,我还要继续去吗
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-03 18:22
投了几百份简历,专业和方向完全对口,都已读不回。尝试改了一下学校,果然有奇效。
steelhead:这不是很正常嘛,BOSS好的是即便是你学院本可能都会和聊几句,牛客上学院本机会很少了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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