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

题目描述

输入一个整数,输出该数二进制表示中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

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容