输入一个整数,输出该树二进制表示中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