python-2.7 - Python2 在位操作方面遇到问题

标签 python-2.7 bit-manipulation

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

print (countbit(5))

我正在尝试一段相当简单的代码,它可以查找整数中未设置的位数。我不明白为什么这个片段不起作用。这里出了什么问题?

最佳答案

Operator precedence - 而不是

counter = counter + n&1

使用

counter = counter + (n & 1)

关于python-2.7 - Python2 在位操作方面遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48360962/

相关文章:

python-2.7 - 为 Sklearn reshape 数据

python - 为什么这个脚本在 python3 中比在 python2 中花费更多的时间?

Python,重新启动整个代码,以便移动对象和所有内容(不仅仅是循环,而是整个代码)

javascript - 第一次尝试使用按位运算符进行标志检查

Java 位操作

python-2.7 - 如何限制包含符号的 sympy FiniteSet

python - 良好做法默认值

c++ - 比较整数提升后的结果

matlab - Matlab中的位级运算

parallel-processing - 为什么计算数字奇偶校验的代码可以并行运行**?