leetcode: 二进制中1的个数

Posted 敲代码的Messi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode: 二进制中1的个数相关的知识,希望对你有一定的参考价值。

描述:
编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为 汉明重量).)。

思想:
我们只需要判断最低位是否是 1即可,然后 右移 一位。
( 此算法 只能解决正数,负数会陷入死循环。)

class Solution

public:
    int hammingWeight(uint32_t n)
    
        int count = 0;

        while (n)
        
            if (n & 1) //最低位等于 1
                count++;
            n = n >> 1;
        
        
        return count;
    
;

以上是关于leetcode: 二进制中1的个数的主要内容,如果未能解决你的问题,请参考以下文章

leetcode题:输入一个整数 n ,求1~n这n个整数的十进制表示中1出现的次数。

二进制的1的个数

[LeetCode] 628. 三个数的最大乘积 ☆

剑指offer第十一题:二进制中1的个数

原码反码补码

二进制中1的个数