二进制1的个数

题目描述

输入一个整数,输出该数32位二进制表示中1的个数。其中负数用补码表示。

解法一

 public int NumberOf1(int n) {

        int count = 0;
        int flag = 1;
        while (flag != 0){
            if((n & flag) !=0){
                count++;
            }
            flag = flag << 1;
        }
        return count;
    }

解法二

  public int NumberOf2(int n) {

        int count = 0;
        while (n != 0){
            count++;
            n=(n-1)&n;
        }
        return count;
    }

posted @   iforeverhz  阅读(116)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示