使用Python列表理解计数设置位

设置位是以数字的二进制形式表示1的位。在本文中,我们将看到如何计算给定十进制数字中的设置位数。

#53 in binary is: 110101
The number of set bits is the number of ones.
Here it is 4.

在下面的程序中,我们将数字转换为二进制。由于二进制转换的前两个字符包含0b,因此我们使用字符串拆分技术将其删除。然后,如果该位数为1,则使用for循环对二进制数的每一位进行计数。

示例

value = 59
#Check the binary value
print(bin(value))
#Remove the first two characters
bitvalue = bin(value)[2:]
print(bitvalue)
count = 0
for digit in bitvalue:
   if digit == '1':
      count = count+1
print("Length of set bits: ",count)

输出结果

运行上面的代码给我们以下结果-

0b111011
111011
Length of set bits: 5