美文网首页
剑指offer:11 二进制中1的个数

剑指offer:11 二进制中1的个数

作者: 毛毛毛毛毛豆 | 来源:发表于2019-08-08 11:05 被阅读0次

题目描述

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

Python

class Solution:

    def NumberOf1(self, n):

        # write code here

        return bin(n).count('1') if n >= 0 else bin(2 **32 + n).count('1')

Python - 仅考虑正数

class Solution:

        cnt = 0

        while n > 0:

            if n % 2 != 0:

                cnt += 1

            n = n // 2

        return cnt

相关文章

网友评论

      本文标题:剑指offer:11 二进制中1的个数

      本文链接:https://www.haomeiwen.com/subject/mgrtjctx.html