Computer >> Máy Tính >  >> Lập trình >> Python

Kiểm tra xem bit ở vị trí đã cho đã được đặt hay chưa được đặt trong Python

Giả sử chúng ta có một số n và một giá trị khác k. Chúng ta phải kiểm tra xem bit thứ k trong n được đặt (1) hay không đặt (0). Giá trị của k được xem xét từ phía bên phải.

Vì vậy, nếu đầu vào là n =18 k =2, thì đầu ra sẽ được Đặt dưới dạng nhị phân của 18 là 10010 vì vậy bit cuối cùng thứ hai là 1 (tập hợp).

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • temp:=n sau khi dịch chuyển các bit (k - 1) lần sang bên phải
  • nếu tạm thời VÀ 1 là 1, thì
    • trả về "Đặt"
  • trả về "Chưa đặt"

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

Mã mẫu

def solve(n,k):
   temp = n >> (k - 1)
   if temp & 1:
      return "Set"
   return "Unset"

n = 18
k = 2
print(solve(n, k))

Đầu vào

18

Đầu ra

Set