เมื่อต้องการแปลงรหัสไบนารีเป็นรหัสเกรย์ สามารถกำหนดฟังก์ชันที่ดำเนินการ 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:]รับค่าจากผู้ใช้ เรียกฟังก์ชัน และแสดงผล