判断二进制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);
    }
相关推荐
Jtti13 小时前
PHP项目缓存占用硬盘过大?目录清理与优化
java·缓存·php
这张生成的图像能检测吗13 小时前
(论文速读)多任务深度学习框架下基于Lamb波的多损伤数据集构建与量化算法
人工智能·深度学习·算法·数据集·结构健康监测
未若君雅裁13 小时前
JVM基础总结
java·jvm·java-ee
星释13 小时前
Rust 练习册 66:密码方块与文本加密
java·前端·rust
q***318914 小时前
Spring Boot 实战篇(四):实现用户登录与注册功能
java·spring boot·后端
专注于大数据技术栈14 小时前
java学习--==和equals
java·python·学习
鲸沉梦落14 小时前
JVM类加载
java·jvm
carry杰14 小时前
esayExcel导出图片
java·easyexcel 图片
路人甲ing..14 小时前
Android Studio 快速的制作一个可以在 手机上跑的app
android·java·linux·智能手机·android studio
心灵宝贝15 小时前
Mac 安装 JDK 8u281(JDK-8u281-1.dmg)详细步骤(附安装包)
java·macos·intellij-idea