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

โปรแกรม Python แปลงรหัสไบนารีเป็นรหัสเกรย์ (Gray Code)


เมื่อต้องการแปลงรหัสไบนารีเป็นรหัสเกรย์ สามารถกำหนดฟังก์ชันที่ดำเนินการ XOR ระหว่างตัวเลขกับตัวเลขที่ขยับบิตไปทางขวา 1 ตำแหน่ง

ตัวอย่างโค้ด

def binary_to_gray(n):
    n = int(n, 2)
    n ^= (n >> 1)
    return bin(n)[2:]

gray_val = input('Enter the binary number: ')
binary_val = binary_to_gray(gray_val)
print('Gray codeword is:', binary_val)

ผลลัพธ์

Enter the binary number: 101100110
Gray codeword is: 111010101

คำอธิบาย

  • กำหนดฟังก์ชัน binary_to_gray ที่รับสตริงไบนารีเป็นพารามิเตอร์

  • แปลงสตริงไบนารีเป็นจำนวนเต็มด้วย int(n, 2)

  • ดำเนินการ XOR (^=) ระหว่างตัวเลขกับตัวเลขที่ขยับขวา 1 บิต (n >> 1)

  • คืนค่าเป็นสตริงไบนารีโดยตัดคำนำหน้า '0b' ด้วย bin(n)[2:]

  • รับค่าจากผู้ใช้ เรียกฟังก์ชัน และแสดงผล