Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

ตรวจสอบว่าบิตของตัวเลขตั้งค่าไว้ใน Python . หรือไม่


สมมติว่าเรามีตัวเลข n เราต้องตรวจสอบว่าบิตทั้งหมดถูกตั้งค่า (1) สำหรับหมายเลขที่กำหนด n หรือไม่

ดังนั้น หากอินพุตมีค่าเท่ากับ n =255 ผลลัพธ์จะเป็น True เนื่องจากเลขฐานสองของ 255 คือ 11111111

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

  • ถ้าตัวเลขเหมือนกับ 0 แล้ว
    • คืนค่าเท็จ
  • ในขณะที่ตัวเลข> 0, ทำ
    • ถ้าเป็นเลขคู่
      • คืนค่าเท็จ
    • จำนวน :=ผลหารของ (หมายเลข / 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