判断二进制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);
    }
相关推荐
不想写笔记1 分钟前
算法 C语言 冒泡排序
c语言·笔记·算法·排序算法
小鸡脚来咯2 分钟前
java web后端开发流程
java·开发语言·git
北友舰长4 分钟前
基于Springboot+thymeleaf快递管理系统的设计与实现【Java毕业设计·安装调试·代码讲解】
java·spring boot·mysql·校园管理·快递·快递系统
我爱烤冷面5 分钟前
kotlin项目实现Java doc的方案:使用Dokka
java·开发语言·kotlin·dokka
xu_yule6 分钟前
算法基础-路径类dp
算法
jian110587 分钟前
android java转kotlin,kotlin转java
android·java·kotlin
长征coder9 分钟前
SpringCloud服务优雅下线LoadBalancer 缓存配置方案
java·后端·spring
智驱力人工智能9 分钟前
从项目管理视角 拆解景区无人机人群密度分析系统的构建逻辑 无人机人员密度检测 无人机人群密度检测系统价格 低空人群密度统计AI优化方案
人工智能·深度学习·算法·安全·无人机·边缘计算
历程里程碑10 分钟前
C++ 4:内存管理
java·c语言·开发语言·数据结构·c++·笔记·算法
The Last.H10 分钟前
Codeforces Round 1069 (Div. 2)
算法