python如何计算一个数值的二进制数中有多少个1
python如何计算一个数值的二进制数中有多少个1
这篇文章给大家分享的是有关python如何计算一个数值的二进制数中有多少个1的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
计算一个数值的二进制数中有多少个1
相信有了之前的基础,大家很容易实现这个算法。单纯的通过位运算,与1进行与运算,看是否结果为1,然后右移1位,继续判断。Python代码实现如下:
defnumber1Bit(x):count=0whilex:count=count+(x&1)x=x>>1returncount
这样存在一个问题,就是如果有连续多个0,那么需要做多次移位操作。有没有简单的方式跳过连续多个0的情况?
那就是通过与(x-1)进行&运算。这里可能不太好理解,举例说明一下
x11100000x-111011111x&(x-1)11000000
通过这种方式,会把最后的那个1检测出来。
Python代码实现如下:
defnumber1Bit(x):count=0whilex:count=count+1x=x&(x-1)returncount
感谢各位的阅读!关于“python如何计算一个数值的二进制数中有多少个1”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
推荐阅读
-
Python 3.12 新特性解析:模式匹配增强与性能优化实战
-
Lightly IDE 深度评测:轻量级 Python 开发工具是否适合团队协作?
-
VS Code 自定义配置:JSON 文件修改、代码片段与任务自动化脚本
-
Python 虚拟环境选择:venv、conda、poetry 的适用场景对比
-
PyCharm+GitHub Copilot:Python 开发中 AI 辅助编码的最佳实践
-
PyCharm 无法识别虚拟环境?5 步排查 Python 解释器配置问题
-
数据科学工具链:Jupyter Notebook+RStudio+Python 的协同工作流
-
Python 3.12 新特性:模式匹配增强与性能改进实战
-
Lightly IDE 适合谁?轻量级 Python 开发工具深度评测
-
Python IDE 终极对比:PyCharm vs VS Code vs Jupyter Notebook