检查在 Python 中设置 K 第位还是未设置


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

因此,如果输入类似于 n = 23,k = 3,则输出将为 true,因为 23 的二进制形式为 10111,因此第三个最后一位为 1(已设置)。

为此,我们将遵循以下步骤 -

  • 将位向右移动 (k - 1) 次后,temp: = n
  • 如果 temp 和 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

更新于: 16-01-2021

2K+ 次浏览

开启您的 职业生涯

完成课程并获得认证

开始
广告
© . All rights reserved.