二进制中1的个数

题目描述

输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
方法1:
# -*- coding:utf-8 -*-
class Solution:
    def NumberOf1(self, n):
        # write code here
        return sum([(n>>i & 1) for i in range(0,32)])

方法2:

# -*- coding:utf-8 -*-
class Solution:
    def NumberOf1(self, n):
        # write code here
        count = 0
        while n:
            count += 1
            n = (n-1) & n
        return count

 

posted @ 2018-09-09 16:43  耐烦不急  阅读(156)  评论(0编辑  收藏  举报