题解 | 二进制位中1的数量
二进制位中1的数量
https://www.nowcoder.com/practice/3e392d0ed7e543f3a4ae883d1470ca9d
def popcount(n: int) -> int:
n -= ((n >> 1) & 0x5555555555555555)
n = (n & 0x3333333333333333) + ((n >> 2) & 0x3333333333333333)
n = (n + (n >> 4)) & 0x0f0f0f0f0f0f0f0f
n += ((n >> 8) & 0x00ff00ff00ff00ff)
n += ((n >> 16) & 0x0000ffff0000ffff)
n += ((n >> 32) & 0x00000000ffffffff)
return n & 0x7f
print(popcount(int(input())))

