Python2遇到位操作问题

时间:2018-01-20 20:48:43

标签: python-2.7 bit-manipulation

def countbit(n):
    counter = 0
    while(n):
        counter = counter + n&1
        n = n>>1
    return counter

print (countbit(5))

我正在尝试一段相当简单的代码,它可以找到整数中未设置位的数量。我无法弄清楚为什么这个代码片段无法正常工作。这里出了什么问题?

1 个答案:

答案 0 :(得分:4)

Operator precedence - 而不是

counter = counter + n&1

使用

counter = counter + (n & 1)