二进制中1的个数

二进制计算

  • 问题:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。

  • 解决:

    #方法一:
    class Solution:
        def hammingWeight(self, n: int) -> int:
            count  = 0
            while n:
                n &= (n-1) #可以避免无效检测
                count += 1
            return count
    #方法二:与1相与后,右移一位
    class Solution:
        def hammingWeight(self, n: int) -> int:
            count = 0
            while n:
                count += n & 1
                n >>= 1
            return count
    
posted @ 2020-07-24 17:01  guguda  阅读(99)  评论(0)    收藏  举报