【剑指Offer】09二进制中1的个数

题目描述

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

时间限制:1秒;空间限制:32768K

解题思路

将n循环移位后与1进行按位与运算,累加输出结果。

Python代码:

# -*- coding:utf-8 -*-
class Solution:
    def NumberOf1(self, n):
        # write code here
        result = 0
        for i in range(32):
            result += (n>>i) & 1
        return result

 

posted @ 2018-10-12 17:48  yucen  阅读(102)  评论(0编辑  收藏  举报