Python Program to Convert Gray Code to Binary

When it is required to convert gray code to binary code, a method is defined, that checks to see if the number is 0 or not.

Below is the demonstration of the same −


 Live Demo

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]
         binary_code += flip_num(binary_code[i - 1])

   return binary_code
gray_code = "01101001"
print("The gray code is :")
print("Binary code of", gray_code, "is", gray_to_binary(gray_code))


The gray code is :
Binary code of 01101001 is 01001110


  • A method named ‘flip_num’ is defined that checks to see if the number is 0.

  • If it is 0, it returns 1, else it returns 0.

  • Another method named ‘gray_to_binary’ is defined that takes a gray code as a parameter.

  • It iterates over the numbers in gray code, and stores the value in binary number’s index.

  • If the number is not 0, then the ‘flip_num’ method is called, and the number is changed to 1.

  • A binary number is defined, and the method is called by passing this value.

  • The output is displayed on the console.