To understand this python program, we need to know about binary and gray code.
Binary code: Binary is a number to the base of 2, which means the number is represented by only zeros and ones. It is used in Machine language. For example, the Binary code for 4 is 0100.
Gray code: Gray code is also known as reflected binary code, which is just an arrangement of the binary numbers like successive values that differ only by 1 bit. An example of a gray code of 4 is 0110.
This conversion is achieved by continuous xor operation of an integer and the integer less than one. Again xor with that integer less than 1.
To get the number less than 1, we are using the right shift of the binary and doing the xor operation with the number and the right-shifted number, which is number - 1. So we can say that the gray code can be converted to binary using (g XOR (g >> 1) XOR (g >> 2) XOR … XOR (g >> m)).
STEP 1: Enter the gray code from the user side
STEP 2: call the user-defined function graytob(n), passing the number as a parameter.
STEP 3: Print the returned value.
STEP 1: Accept the gray code from the main program.
STEP 2: Convert the gray code to an integer using int
in the python programming language.
STEP 3: Store the number in another variable.
STEP 4: Open a while loop
until the number.
STEP 5: Right shift the number by one to get the number -1, which is used to xor with the number.
STEP 6: Now, do a xor operation with the number and the right-shifted number until all the while loop iterations.
STEP 7: Return the number in binary representation using bin.
For converting the gray to binary code we used the below concepts in python, we recommend referring those for a better understanding
def graytob(n):
n = int(n, 2) # convert to int
mask = n
while mask != 0:
mask >>= 1
n ^= mask
return bin(n)[2:]
g = input('Enter Gray codeword: ')
b = graytob(g)
print('In binary:', b)
Enter Gray codeword: 10 In binary: 11