1.题目详情
编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为汉明重量)。
2.解题思路
python如何返回二进制1的个数呢?
3.代码实现
class Solution:
def hammingWeight(self, n: int) -> int:
n = bin(n).zfill(32)
return n.count('1')
4.知识点
为什么不能用str(n)?
因为bin(n).count(“1”)计算的是十进制对应的二进制中包含1的个数,而str(n).count(“1”),就代表十进制对应的字符串中1的个数。比如十进制10,对应的二进制为bin(10)=“1010”,1的个数为2,而str(10)=“10”,1的个数为1.