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

Chương trình Python chuyển đổi mã Gray sang nhị phân

Khi cần chuyển đổi mã Gray sang mã nhị phân, ta định nghĩa một hàm kiểm tra từng bit và áp dụng quy tắc chuyển đổi.

Ví dụ

def flip_bit(bit):
    return '1' if bit == '0' else '0'

def gray_to_binary(gray):
    binary = ""
    binary += gray[0]                 # Bit đầu tiên giữ nguyên
    for i in range(1, len(gray)):
        if gray[i] == '0':
            binary += binary[i - 1]   # Giữ bit trước
        else:
            binary += flip_bit(binary[i - 1])  # Đảo bit trước
    return binary

gray_code = "01101001"
print("Mã Gray:", gray_code)
print("Mã nhị phân của", gray_code, "là", gray_to_binary(gray_code))

Kết quả

Mã Gray: 01101001
Mã nhị phân của 01101001 là 01001110

Giải thích

  • Hàm flip_bit đảo giá trị bit: '0' thành '1' và ngược lại.
  • Hàm gray_to_binary nhận chuỗi mã Gray.
  • Bit đầu tiên của nhị phân bằng bit đầu tiên của Gray.
  • Với mỗi bit tiếp theo: nếu bit Gray là '0' thì bit nhị phân bằng bit nhị phân trước; nếu '1' thì đảo bit nhị phân trước.
  • Trả về chuỗi nhị phân hoàn chỉnh.