1. 程式人生 > >【劍指Offer】09二進位制中1的個數

【劍指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