在整数的二进制表示中,我们使用两个位,即1和0,其中1被称为设置位。因此,在这个Python程序中,我们必须计算整数中“1”的数量。让我们以9为例;它的二进制表示是1001,而“1”的数量是2。
为了在Python编程中应用此逻辑,我们接受用户输入的整数,并调用用户定义的函数来计算该数字中设置的位数。
在该函数内部,我们将一个计数变量初始化为零。然后我们打开一个while循环,直到数字为零。在该循环内部,我们使用按位与运算符对n和n-1进行操作。当我们对n和n-1进行按位与操作时,它将移除最后一个1位。我们使用计数变量来检查我们执行多少次按位与操作才能使数字n变为零。这将是1的数量。
步骤1: 使用Python编程语言中的input函数从用户那里接受一个整数。
步骤2: 调用函数计算数字中的位数。并使用Python语言中的print函数打印该返回值。
步骤1: 将数字作为参数从调用函数传递给该函数。
步骤2: 将计数变量初始化为零,用于计数设置位。
步骤3: 打开一个while循环,直到数字为零。
步骤4: 使用按位与运算符对数字n和n-1进行操作,以移除数字n中的最后一个1位。继续操作,直到数字n为零。
步骤5: 在每次按位与操作迭代中递增计数。
步骤6: 返回并打印计数。
为了找到设置位的计数,我们使用了以下Python主题,请参考这些主题以获得更好的理解
def count_set_bits(n):
count = 0
while n:
n &= n - 1
count += 1
return count
num = int(input('Enter number: '))
print("Equivalent Binary Number: ", bin(num)[2:])
print('Number of bits that set in the number:', count_set_bits(num))
Enter number: 12 Equivalent Binary Number: 1100 Number of setbits in that set in the number: 2