比特求和

def count_bits(num):
    # 十进制转为二进制数据
    temp=[]
    while True:
        temp.append(str(num%2))  # % 取模 - 返回除法的余数
        num=num//2   # //取整除
        if num==0:
            break
    binary=''.join(temp[::-1]) #列表切片倒叙排列后再用join拼接
    # 对二进制数据所有数字求和
    result=0
    for i in binary:
        if i=='1':
            result+=1
    return result

num = 1234567
ret = count_bits(num)
print(ret)

 

posted @ 2021-11-09 13:35  keep2021  阅读(72)  评论(0编辑  收藏  举报