How to convert decimal number to gray code

Decimal Number

Whole number, a decimal point and a fractional value combines to form a decimal number. The decimal point separates the whole number part from the fractional part of the number. Each digit of a decimal number can be any number from 0 to 9. Any value less than 1 is written to the right of decimal point. Decimal numbers are also known as base-10 number or counting numbers. Place value of decimal number varies as the whole number powers of 10 starting from the left of decimal point. Similarly, the place value of digits left to decimal point varies as the division of power of tens.

Gray code

Gray code, also known as reflected binary code, is a code having digits 0 and 1. Gray code do not have place value for its digits. Any successive codes in Gray code system have only one bit changes.

How to convert decimal to gray code

Decimal number cannot be directly converted to Gray code. Hence, to convert decimal to gray code, first, convert the decimal number to binary. Then, convert the binary to gray code.

Decimal to gray conversion can be well understood from the following example:

Convert 2510 to gray code

Step 1: Convert 2510 to binary.

Example Decimal TO Binary conversion
Hence, 2510 = 110012

Read: How to convert decimal to Binary

Step 2: Convert 110012 to gray code.

The MSB (Most Significant Bit) of a gray code and binary code will be the same.
How to convert decimal to gray code
The next digit of gray code will be the EXOR of the MSB and the digit right to the MSB of the binary code.
How to convert decimal to gray code
Similarly EXOR the digit in place and the previous digit of binary code to obtain the next digit of gray code
How to convert decimal to gray code
Repeat the previous step.
How to convert decimal to gray code
Repeat the previous step till the LSB of gray code is found.
How to convert decimal to gray code
Therefore, Gray code corresponding to 2510 = 10101

This Post Has One Comment

  1. George Plousos

    hi
    I have a simpler method

    int(25/02+1/2)=13 odd –> 1
    int(25/04+1/2)=06 even –> 0
    int(25/08+1/2)=03 odd –> 1
    int(25/16+1/2)=02 even –> 0
    int(25/32+1/2)=01 odd –> 1

    Gray code 25=10101 (from down to up)

Leave a Reply