Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Kiểm tra bit thứ k có được thiết lập (set) hay không trong Python

Cho một số n và một giá trị k. Ta cần kiểm tra xem bit thứ k (đếm từ phải sang trái, bit cuối cùng là vị trí 1) của n có bằng 1 hay không.

Ví dụ: n = 23 (nhị phân 10111), k = 3 → bit thứ 3 từ phải là 1 → trả về True.

Giải thuật

  • Dịch phải n sebanyak k-1 lần: temp = n >> (k - 1).
  • Kiểm tra bit thấp nhất của temp bằng phép AND với 1: temp & 1.
  • Nếu kết quả là 1 trả về True, ngược lại False.

Mã ví dụ

def solve(n, k):
    temp = n >> (k - 1)
    if temp & 1:
        return True
    return False

n = 23
k = 3
print(solve(n, k))

Đầu vào

23, 3

Đầu ra

True