This is also called **unit distance code or reflected code**. This coding system has a property that there is only one bit change between consecutive gray codes. The following table would show gray codes of decimal values.

**Binary to gray conversion:**

Starting from right to left

- If it is MSB then place it as it is
- Otherwise, Add the bit to the previous bit and place the sum in GRAY, ignoring any carry
- Repeat step 2 till end

Eg. Convert 1011 to gray

**Gray to Binary conversion****:**

Starting from right to left

- If it is MSB then place it as it is
- Otherwise, Add the bit to the previous than corresponding bit of GRAY code and place the sum in GRAY, ignoring any carry
- Repeat step 2 till end

Eg. Convert 1110 to gray