判断二进制1的个数三种方法

复制代码
 //判断二进制1的个数;
    public static void main4(String[] args) {
        int a = -1;
        int count = 0;
        for (int i = 0; i < 32; i++) {
            if(((a>>i)&1) != 0){
               count++;
            }
        }
        System.out.println(count);
    }

通过循环32次移位实现

2.每次移位后判断后面是否还有1

复制代码
public static void main2(String[] args) {
        int a = -1;
        int count = 0;
        while(a != 0){
            if((a & 1) == 1){
                count++;
            }
            a = a>>>1;
        }
        System.out.println(count);
    }

3.通过与 比自己小1的数 进行与运算 来消除 该数字里面的 1

复制代码
 public static void main3(String[] args) {
        int a = -1;
        int conut = 0;
        while(a != 0){
            a = a&(a-1);
            conut++;
        }
        System.out.println(conut);
    }
相关推荐
fengfuyao9854 分钟前
基于MATLAB的表面织构油润滑轴承故障频率提取(改进VMD算法)
人工智能·算法·matlab
Java面试题总结5 分钟前
基于 Java 的 PDF 文本水印实现方案(iText7 示例)
java·python·pdf
机器学习之心12 分钟前
基于随机森林模型的轴承剩余寿命预测MATLAB实现!
算法·随机森林·matlab
一只小小的芙厨14 分钟前
寒假集训笔记·树上背包
c++·笔记·算法·动态规划
马猴烧酒.18 分钟前
【面试八股|Java集合】Java集合常考面试题详解
java·开发语言·python·面试·八股
庄周迷蝴蝶21 分钟前
四、CUDA排序算法实现
算法·排序算法
以卿a24 分钟前
C++(继承)
开发语言·c++·算法
I_LPL27 分钟前
day22 代码随想录算法训练营 回溯专题1
算法·回溯算法·求职面试·组合问题
金融RPA机器人丨实在智能31 分钟前
2026动态规划新风向:实在智能Agent如何以自适应逻辑重构企业效率?
算法·ai·重构·动态规划
测试工程师成长之路34 分钟前
Serenity BDD 框架:Java + Selenium 全面指南(2026 最新)
java·开发语言·selenium