The Gray Code
The Gray code is unweighted and is not an arithmetic code.
There are no specific weights assigned to the bit positions.
Important: the Gray code exhibits only a single bit change from
one code word to the next in sequence.
This property is important in many applications, such as shaft position
encoders.
The Gray Code
Decimal Binary Gray Code Decimal Binary Gray Code
0 0000 0000 8 1000 1100
1 0001 0001 9 1001 1101
2 0010 0011 10 1010 1111
3 0011 0010 11 1011 1110
4 0100 0110 12 1100 1010
5 0101 0111 13 1101 1011
6 0110 0101 14 1110 1001
7 0111 0100 15 1111 1000
The Gray Code
Binary-to-Gray code conversion
The MSB in the Gray code is the same as
corresponding MSB in the binary number.
Going from left to right, add each adjacent pair of
binary code bits to get the next Gray code bit.
Discard carries.
ex: convert 101102 to Gray code
1 + 0 + 1 + 1 + 0 binary
1 1 1 0 1 Gray
Find the equivalent gray code of given binary numbers 10101, 11101
10101 Binary Code
1 + 0 + 1 + 0 + 0 binary code
1 1 1 1 0 Gray code
11101 Binary Code
1 + 1 + 1 + 0 + 1 binary code
1 0 0 1 1 Gray code
The Gray Code
Gray-to-Binary Conversion
The MSB in the binary code is the same as the corresponding bit in
the Gray code.
Add each binary code bit generated to the Gray code bit in the next
adjacent position. Discard carries.
ex: convert the Gray code word 11011 to binary
1 1 0 1 1 Gray
+ + + +
1 0 0 1 0 Binary
Covert the following gray code into binary code, 101011,1101, 10001
101011 Gray code
1 0 1 0 1 1 Gray code
+ + + + +
1 1 0 0 1 0 Binary code
1101 Gray Code
1 1 0 1 Gray code
+ + +
1 0 0 1 Binary code
10001 Gray Code to Binary code ????