剑指Offer--11.二进制中1的个数

来源:互联网 发布:洪厚甜网络书法 编辑:程序博客网 时间:2024/06/15 18:10

题目描述:

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

python代码:

# -*- coding:utf-8 -*-class Solution:    def NumberOf1(self, n):        # write code here        return sum([(n>>i & 1) for i in xrange(32)])

解析:

和1与操作是用来判断最后一位是否为1,向右移动一位后继续判断最后一位,因为是32为整型数,所以循环32次。
原创粉丝点击