python如何计算一个数值的二进制数中有多少个1

python如何计算一个数值的二进制数中有多少个1

这篇文章给大家分享的是有关python如何计算一个数值的二进制数中有多少个1的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

计算一个数值的二进制数中有多少个1

python如何计算一个数值的二进制数中有多少个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”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

发布于 2022-03-19 21:11:07
收藏
分享
海报
0 条评论
30
上一篇:perl如何分离NR NT库 下一篇:python如何判断奇数还是偶数
目录

    推荐阅读

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码