检查Python中给定位置的位是否已设置
假设我们有一个数字n和另一个值k。我们必须检查n中的第k位是置位(1)还是未置位。从右手侧考虑k的值。
因此,如果输入类似于n=18k=2,则输出将被设置为18的二进制形式是10010,因此倒数第二个位是1(设置)。
为了解决这个问题,我们将遵循以下步骤-
temp:=n向右移动(k-1)次后
如果tempAND1为1,则
返回“设置”
返回“未设置”
让我们看下面的实现以更好地理解-
范例程式码
def solve(n,k):
temp = n >> (k - 1)
if temp & 1:
return "Set"
return "Unset"
n = 18
k = 2
print(solve(n, k))输入值
18输出结果
Set