判断二进制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);
    }
相关推荐
冯诺依曼的锦鲤5 小时前
算法练习:差分
c++·学习·算法
许商5 小时前
【stm32】【printf】
java·前端·stm32
JIngJaneIL6 小时前
智慧物业|物业管理|基于SprinBoot+vue的智慧物业管理系统(源码+数据库+文档)
java·前端·数据库·vue.js·spring boot·论文·智慧物业管理系统
ANYOLY6 小时前
Redis 面试题库
java·redis·面试
有意义6 小时前
栈数据结构全解析:从实现原理到 LeetCode 实战
javascript·算法·编程语言
懒惰蜗牛6 小时前
Day63 | Java IO之NIO三件套--选择器(下)
java·nio·选择器·selector·半包粘包·tcp缓冲区
鹿鹿鹿鹿isNotDefined6 小时前
逐步手写,实现符合 Promise A+ 规范的 Promise
前端·javascript·算法
JavaGuide6 小时前
美团2026届后端一二面(附详细参考答案)
java·后端
打工人你好6 小时前
如何设计更安全的 VIP 权限体系
java·jvm·安全
L.EscaRC6 小时前
Spring IOC核心原理与运用
java·spring·ioc