如何统计一个数字的二进制值里面有多少个 1

谢乾坤|青南 at 
如何统计一个数字的二进制值里面有多少个1的配图
任意给出一个正整数,例如 4523,如何快速统计它的二进制值里面有几个 1?我们知道,在 Python 里面,查看一个数字的二进制函数为:bin,例如:12>>> bin(4523)'0b1000110101011'所以我们很快就能想到一个统计方案:12345one_num = 0for i in bin(4523)[2:]: if i == '1': count += 1print(f'数字 4523 的二进制值里面,一共有{count}个 1')运行效果如下图所示:如果使用这个方法,由于 4523 的二进制值有 13 位,所以 for 循环需要执行 13 次才能完成统计……