判断二进制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);
    }
相关推荐
一颗青果16 分钟前
auto | 尾置返回类型 | decltype | using | typedef
java·开发语言·算法
郝学胜-神的一滴24 分钟前
何友院士《人工智能发展前沿》全景解读:从理论基石到产业变革
人工智能·python·深度学习·算法·机器学习
小王不爱笑13233 分钟前
SpringBoot 配置文件
java·spring boot·后端
BHXDML34 分钟前
第五章:支持向量机
算法·机器学习·支持向量机
2401_8414956438 分钟前
具身智能:从理论到现实,人工智能的下一场革命
人工智能·算法·机器人·硬件·具身智能·通用智能·专用智能
江君是实在人39 分钟前
java jvm 调优
java·开发语言·jvm
Felven44 分钟前
B. MEXor Mixup
算法
阿崽meitoufa1 小时前
JVM虚拟机:垃圾收集算法
java·jvm·算法
数电发票API1 小时前
线上充值自动开票攻略:四步落地,告别人工低效内耗
java
练习时长一年1 小时前
LeetCode热题100(分割等和子集)
算法·leetcode·职场和发展