判断二进制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);
    }
相关推荐
Eric_Makabaka9 小时前
微服务重要知识点
java
lkbhua莱克瓦249 小时前
Java进阶——集合进阶(MAP)
java·开发语言·笔记·github·学习方法·map
u01196082310 小时前
java 不可变集合讲解
java·开发语言
2501_9411116810 小时前
模板编译期哈希计算
开发语言·c++·算法
Qiuner10 小时前
Spring Boot 进阶:application.properties 与 application.yml 的全方位对比与最佳实践
java·spring boot·后端
寒山李白10 小时前
Mybatis使用教程之XML配置方式实现增删改查
xml·java·mybatis
CoovallyAIHub10 小时前
智能体与小模型:AI迈向平民化的新浪潮
深度学习·算法·计算机视觉
Seven9710 小时前
剑指offer-38、⼆叉树的深度
java
jllllyuz10 小时前
基于粒子群优化(PSO)的特征选择与支持向量机(SVM)分类
开发语言·算法·matlab
Kapaseker10 小时前
一文入门 Java Stream
java