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

#刷题我是认真的# #二进制中1的个数# #2025,我想......#

关键点:

  1. 二进制操作
  2. 不断左移,将数字变小,直到等于0
  3. 常规的二进制操作:
  4. n^1 得到的二进制数除了最后一位外,其余均为0
  5. 1的二进制数为: 00000001
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int num = in.nextInt();
        int rs = 0;
        while (num > 0) {
            if ((num & 1) == 1) {
                rs++;
            }
            num = num >> 1;
        }
        System.out.println(rs);
    }
}

全部评论
二进制操作巧妙
1 回复 分享
发布于 01-02 13:15 陕西

相关推荐

06-12 10:50
门头沟学院 Java
你的不定积分没加C:我怎么在学院群看到了同样的话
点赞 评论 收藏
分享
06-13 10:15
门头沟学院 Java
想去夏威夷的大西瓜在...:我也是27届,但是我现在研一下了啥项目都没有呀咋办,哎,简历不知道咋写
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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