輸入一個整數,輸出該樹二進制表示中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