python算法设计 - 二进制

python算法设计源码:https://github.com/MakerChen66/Python3Algorithm

版权声明:原创不易,本文禁止抄袭、转载,侵权必究!

一、二进制1的个数

当你写下一个正整数的二进制数形式时,有没有想要探究一下这个二进制数里有多少位数为1呢?

例如:199 = 0b11000111

一个明显的解法即是去获得一个单位掩码,遍历这个二进制数 X & (1 << k) 并返回非零的结果,这种方式将0的位数与1的位数都计算在内

有没有更好的方式可以只计数1的位数而完全忽略0的位数呢?你可以有自己更多的想法,但是现在我们并不需要它们

Python算法实现:

def count_1bits(value):
    counts = 0
    while value:
        value &= value - 1
        counts += 1
    print(counts)
count_1bits(0b11000111)

输出结果:
在这里插入图片描述
注意:0b11000111是Python中函数bin()实现的,如下图:
在这里插入图片描述

二、源码下载

python算法设计源码下载:

三、作者Info

作者:小鸿的摸鱼日常,Goal:让编程更有趣!

原创微信公众号:『小鸿星空科技』,专注于算法、爬虫,网站,游戏开发,数据分析、自然语言处理,AI等,期待你的关注,让我们一起成长、一起Coding!

版权说明:本文禁止抄袭、转载 ,侵权必究!

猜你喜欢

转载自blog.csdn.net/qq_44000141/article/details/121914248