检查 Python 中数字的所有位是否均已设置


假设我们有一个数字 n。我们必须检查给定数字 n 的所有位是否都已设置(1)。

因此,如果输入为 n = 255,则输出将为 True,因为 255 的二进制表示形式为 11111111。

为了解决此问题,我们将遵循以下步骤 −

  • 如果数字等于 0,则
    • 返回 False
  • 当数字 > 0 时,执行
    • 如果数字为偶数,则
      • 返回 False
    • 数字 := 数字/2 商
  • 返回 True

让我们看看以下实现以获得更好的理解 −

示例

 实时演示

def solve(number):
   if number == 0:
      return False
   while number > 0:
      if (number & 1) == 0:
         return False
      number = number >> 1
   return True
n = 255
print(solve(n))

输入

255

输出

True

更新于: 2020 年 12 月 29 日

330 人次浏览

开始您的职业生涯

完成课程以获得证书

开始使用
广告