判断二进制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);
    }
相关推荐
莫逸风几秒前
【AgentScope】3. 工作空间(Workspace)详解
java·ai·agent·springai·agentscope
Devin~Y几秒前
从Spring Boot到AI Agent:大厂Java微服务面试三轮实战问答解析
java·spring boot·redis·spring cloud·微服务·ai·kafka
brave_zhao3 分钟前
http 403 HTTP 403(Forbidden)表示服务器理解请求,但拒绝授权访问
java
爱吃羊的老虎4 分钟前
【JAVA】python转java:Spring Boot 如何处理 Web 请求
java·前端·spring boot·http
装不满的克莱因瓶4 分钟前
DDD 设计与 Maven 多模块拆分:从单体项目到领域驱动架构实践
java·架构·maven·ddd
码不停蹄的玄黓6 分钟前
SpringBoot 循环依赖解决方案
java·spring boot·后端
装不满的克莱因瓶6 分钟前
Spring 全家桶与 Spring 6 新特性详解:从 IoC 到云原生时代
java·spring·云原生·jdk·新特性·spring6
ch.ju7 分钟前
Java程序设计(第3版)第四章——私有属性
java·开发语言
装不满的克莱因瓶10 分钟前
JSON 处理与内嵌 Tomcat 部署:Spring Boot 如何实现前后端数据交互与一键启动?
java·spring boot·spring·架构·tomcat·json
我命由我1234510 分钟前
Android Service - Service 生命周期变化、Service 与 Activity 双向交互
android·java·java-ee·android studio·android jetpack·android-studio·android runtime