检查Python中是否设置了第K位

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

因此,如果输入像n = 23,k = 3,则输出将为True,因为23的二进制形式是10111,所以倒数第三位是1(设置)。

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

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

  • 如果temp AND 1为1,则

    • 返回True

  • 返回False

让我们看下面的实现以更好地理解-

范例程式码

def solve(n,k):
   temp = n >> (k - 1)
   if temp & 1:
      return True
   return False

n = 23
k = 3
print(solve(n, k))

输入

23, 3
输出结果
True