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

Kiểm tra xem tất cả các bit của một số có được thiết lập (1) hay không trong Python


Giả sử chúng ta có một số n. Cần kiểm tra xem tất cả các bit trong biểu diễn nhị phân của n có đều là 1 hay không.

Ví dụ, n = 255, đầu ra True vì nhị phân của 255 là 11111111.

Các bước giải quyết:

  • Nếu số bằng 0, trả về False.
  • Trong khi số > 0:
    • Nếu số là chẵn (bit cuối là 0), trả về False.
    • Số := số >> 1 (dịch phải 1 bit).
  • Trả về True.

Xem ví dụ dưới đây để hiểu rõ hơn:

Ví dụ

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))

Đầu vào

255

Đầu ra

True