题解 | 查找输入整数二进制中1的个数

#2025,我想......# #刷题我是认真的#

解题思路:

  1. num1进行求余操作,依据求余运算的特性,当二进制数中当前所判断的位值为1时,经过与1的求余运算后,该二进制数除了最后一位保持不变外,其余位都会被置为0,这等价于对原二进制数进行位与运算后得到的结果为1。随后,将该二进制数不断右移,通过重复上述判断过程,即可统计出该二进制数中1的个数。
import java.util.Scanner;

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

    public static int countBinaryOneTotal(int num) {
        int rs = 0;
        while (num > 0) {
            if ((num & 1) == 1) {
                rs++;
            }
            num = num >> 1;
        }
        return rs;
    }
}

全部评论

相关推荐

2024-12-19 11:18
门头沟学院 Java
百度 测开 第一年到手12w,第三年15w 211硕
点赞 评论 收藏
分享
评论
1
收藏
分享
牛客网
牛客企业服务