📅  最后修改于: 2023-12-03 15:10:16.667000             🧑  作者: Mango
这道题是一道比较简单的数学题目,需要编写一个函数来计算给定的十进制整数的二进制表示中的1的数量。
定义函数 count_bits(int n)
,返回给定整数n的二进制表示中的1的数量。
要计算一个整数的二进制表示中的1的数量,可以使用位运算的技巧。我们可以利用一个变量 count
来保存1的数量,然后循环不断地将原整数n右移一位,同时判断最后一位是否为1,如果是,就将 count
加1。当n变成0时,整个过程结束,最终的 count
值即为结果。
下面是使用Python编写的函数实现:
def count_bits(n):
count = 0
while n > 0:
count += n & 1
n >>= 1
return count
我们可以测试一下这个函数,例如给定数字5,其二进制表示为101,共有2个1。使用这个函数计算一下:
>>> count_bits(5)
2
这个函数的结果是正确的。