检查Python中给定位置的位是否已设置

假设我们有一个数字n和另一个值k。我们必须检查n中的第k位是置位(1)还是未置位。从右手侧考虑k的值。

因此,如果输入类似于n = 18 k = 2,则输出将被设置为18的二进制形式是10010,因此倒数第二个位是1(设置)。

为了解决这个问题,我们将遵循以下步骤-

  • temp:= n向右移动(k-1)次后

  • 如果temp AND 1为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

猜你喜欢