判断二进制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);
    }
相关推荐
Ayanami_Reii11 小时前
进阶数据结构应用-SPOJ 3267 D-query
数据结构·算法·线段树·主席树·持久化线段树
大佐不会说日语~11 小时前
SSE 流式输出 Markdown 实时渲染问题解决方案
java·vue.js·sse·spring ai·前端实时渲染
塔能物联运维11 小时前
设备断网时数据丢失,后来启用本地缓存+异步重传队列
java·开发语言·缓存
橙序员小站11 小时前
Java 接入 Pinecone 搭建知识库踩坑实记
java·后端
7哥♡ۣۖᝰꫛꫀꪝۣℋ11 小时前
Spring IoC&DI
java·开发语言·mysql
guygg8812 小时前
基于全变差的压缩感知视频图像重构算法
算法·重构·音视频
即将进化成人机12 小时前
springboot项目创建方式
java·spring boot·后端
教练、我想打篮球12 小时前
117 javaweb servlet+jsp 项目中修改了 数据库连接配置, 却怎么都不生效
java·servlet·jdbc·jsp
VT LI12 小时前
SDF在实时图形渲染中的核心原理与架构创新
算法·sdf·有号距离场