标签: python-2.7 bit-manipulation
def countbit(n): counter = 0 while(n): counter = counter + n&1 n = n>>1 return counter print (countbit(5))
我正在尝试一段相当简单的代码,它可以找到整数中未设置位的数量。我无法弄清楚为什么这个代码片段无法正常工作。这里出了什么问题?
答案 0 :(得分:4)
Operator precedence - 而不是
counter = counter + n&1
使用
counter = counter + (n & 1)