檢查 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 人次瀏覽

開始您的職業生涯

完成課程以獲得證書

開始使用
廣告
© . All rights reserved.