Python 二進制中1的個數

輸入一個整數,輸出該樹二進制表示中1的個數。其中負數用補碼錶示。
補碼:正數不變,負數是他的正數的反碼+1
例如:
-2的補碼:
2的二進制爲: 1000…00010
2的二進制的反碼爲: 1111…11101
2的二進制的反碼+1爲: 1111…11110
所以-2的補碼就是: 1111…11110

# -*-coding:utf-8 -*-
class Solution:
    def NumberOf1(self, n):
        count = 0
        for c in str(bin(n)):
            if c == "1":
                count += 1

        return count


if __name__ == '__main__':
    s=Solution()
    print(s.NumberOf1(-15))

運行結果:

4
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章