输出进制中1的个数

110 阅读1分钟

题目:输入一个数,统计二进制中有几个1

自己的理解可能单纯的从数学方面考虑问题,而没有通过计算机位运算进行思考问题。

这是正确的思路共大家进行学习。

package com.tong;

public class CountOnesInBinary {
    public static void main(String[] args) {
        int num = 2; // 要统计的整数
        int count = 0; // 计数器
   
        while (num != 0) {
           //```这里,我们将 num 和1进行位与运算,目的是只关注最低位,将其他位设置为0。如果最低位为1,则结果为1;如果最低位为0,则结果为0。

            if ((num & 1) == 1) {
                count++;
            }
            // 右移一位,检查下一位
            num = num >> 1;
        }
        System.out.println("二进制中1的个数为: " + count);
    }
}
总结:自己在学习中编程中,只是系统的学习而没有对其知识的真正的学习,对于编程基础的学习还不是不够扎实。
关于计算机的基础,大家可以建议从那些方面可以再进行提高吗