เมื่อจำเป็นต้องแปลงรหัสสีเทาเป็นรหัสไบนารี่ จะมีการกำหนดวิธีการ ซึ่งจะตรวจสอบเพื่อดูว่าตัวเลขเป็น 0 หรือไม่
ด้านล่างนี้เป็นการสาธิตสิ่งเดียวกัน -
ตัวอย่าง
def flip_num(my_nu): return '1' if(my_nu == '0') else '0'; def gray_to_binary(gray): binary_code = "" binary_code += gray[0] for i in range(1, len(gray)): if (gray[i] == '0'): binary_code += binary_code[i - 1] else: binary_code += flip_num(binary_code[i - 1]) return binary_code gray_code = "01101001" print("The gray code is :") print(gray_code) print("Binary code of", gray_code, "is", gray_to_binary(gray_code))
ผลลัพธ์
The gray code is : 01101001 Binary code of 01101001 is 01001110
คำอธิบาย
-
มีการกำหนดเมธอดชื่อ 'flip_num' เพื่อตรวจสอบดูว่าตัวเลขเป็น 0 หรือไม่
-
หากเป็น 0 จะส่งกลับ 1 มิฉะนั้นจะคืนค่าเป็น 0
-
มีการกำหนดวิธีการอื่นที่ชื่อ 'gray_to_binary' ซึ่งใช้รหัสสีเทาเป็นพารามิเตอร์
-
มันวนซ้ำตัวเลขในรหัสสีเทา และเก็บค่าไว้ในดัชนีของเลขฐานสอง
-
หากตัวเลขไม่ใช่ 0 จะมีการเรียกเมธอด "flip_num" และหมายเลขจะเปลี่ยนเป็น 1
-
มีการกำหนดเลขฐานสองและเรียกเมธอดโดยการส่งค่านี้
-
เอาต์พุตจะแสดงบนคอนโซล