Open In App

Code Converters - Binary to/from Gray Code

Last Updated : 07 Apr, 2025
Comments
Improve
Suggest changes
Like Article
Like
Report

In this article, we will go through Code Converters - Binary to/from Gray Code, we will start our article by defining Code converters, Binary code and Gray code, and then we will go through the conversion of binary code to gray code and vice versa.

Table Of Content

What are Code Converters?

Code Converters are the digital circuits or algorithms that are designed to translate data representation from one format to the other format. In this article, we will go through binary to gray code converters. The binary-to-Gray code converter takes binary input and translates it to its corresponding gray code representation.

For more about conversions please go through Number System and base conversions.

What is a Binary Code?

The Binary code is the numerical system used in digital electronics. It only consists of two Symbols which are 0 and 1. In binary code each digit is represented by power of 2 with the starting bit (right most bit) as 20 and bit as 21 and so on. The binary code is serves as the basis for encoding text, number and various other types of data in the digital devices.

What is a Gray Code?

Gray Code system is a binary number system in which every successive pair of numbers differs by only one bit. It is used in applications in which the normal sequence of binary numbers generated by the hardware, is read while the system changes from the initial state to the final state. This could have serious consequences for the machine using the information. The Gray code eliminates this problem since only one bit changes its value during any transition between two numbers.

Another Name of Gray Code

  • Unity Hamming Distance Code
  • Cyclic Code
  • Reflecting Code

Converting Binary to Gray Code

Let b0, b1, b2 and b3 be the bits representing the binary numbers, where b0 is the LSB and b3 is the MSB, and Let g0, g1, g2, and g3 be the bits representing the gray code of the binary numbers, where g0 is the LSB and g3 is the MSB.

The truth table for the conversion is

Binary (B3 B2 B1 B0)Gray Code (G3 G2 G1 G0)
00000000
00010001
00100011
00110010
01000110
01010111
01100101
01110100
10001100
10011101
10101111
10111110
11001010
11011011
11101001
11111000

To find the corresponding digital circuit, we will use the K-Map technique for each of the gray code bits as output with all of the binary bits as input.

K-map for g0:

K-map for g1:

K-map for g2:

K-map for g3:

Corresponding Minimized Boolean Expressions and Digital Circuit for Gray Code Bits

g0 ​= b0​b1′ ​+ b1​b0′ ​= b0 ​⊕ b1​

g1 ​= b2​b1′ ​+ b1​b2′ ​= b1 ​⊕ b2​

g2 ​= b2​b3′ ​+ b3​b2′ ​= b2​ ⊕ b3​

g3 ​= b3

Generalized Boolean Expression for conversion of Binary to Gray Code

Boolean expression for conversion of binary to gray code for n-bit :

gn = bn

gn-1 = bn XOR bn-1 : :

g1 = b2 XOR b1

Converting Gray Code to Binary

Converting gray code back to binary can be done in a similar manner. Let b0, b1, b2 and b3 be the bits representing the binary numbers, where b0 is the LSB and b3 is the MSB, and Let g0, g1, g2, and g3 be the bits representing the gray code of the binary numbers, where g0 is the LSB and g3 is the MSB.

Truth table:

Gray Code (G3 G2 G1 G0)Binary (B3 B2 B1 B0)
00000000
00010001
00110010
00100011
01100100
01110101
01010110
01000111
11001000
11011001
11111010
11101011
10101100
10111101
10011110
10001111

Using K-map to get back the binary bits from the gray code.

K-map for b0:

K-map for b1:

K-map for b2:

K-map for b3:

Corresponding Minimized Boolean Expressions

b3 = g3

b2 = g3 ⊕ g2

b1 = g2 ⊕ g1

b0 = g1 ⊕ g0

Corresponding Digital Circuit

Generalized Boolean Expression for conversion of Gray to Binary Code

Boolean expression for conversion of gray to binary code for n-bit :

bn = gn

bn-1 = bn XOR gn-1 = gn XOR gn-1 : :

b1 = b2 XOR g1 = gn XOR ............ XOR g1

Application of Code Converters - Binary to/from Gray Code

Given Below are the Applications of the Code Converters - Binary to/from Gray Code

  • Rotary Encoders: The Rotary encoders are device which is used to convey rotary motions into digital signals. The code converters use to convert the gray code output of rotary encodes into binary.
  • Control Systems: The Gray code converters are used in the Control system to integrate between system using binary and gray code.
  • Signal Processing: The Code converters are used in the signal processing to translate between binary and gray coded signals.
  • Analog-to-Digital Conversion: The code converters are used in ADC to interface between gray coded ADC outputs and binary based systems.

Next Article
Practice Tags :

Similar Reads