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