Gray Series - Converting To and From Gray Code

Converting To and From Gray Code

The following functions in C convert between binary numbers and their associated Gray codes.

/* The purpose of this function is to convert an unsigned binary number to reflected binary Gray code. The operator >> is shift right. The operator ^ is exclusive or. */ unsigned int binaryToGray(unsigned int num) { return (num >> 1) ^ num; } /* The purpose of this function is to convert a reflected binary Gray code number to a binary number. */ unsigned int grayToBinary(unsigned int num) { unsigned int numBits = 8 * sizeof(num); unsigned int shift; for (shift = 1; shift < numBits; shift = 2 * shift) { num = num ^ (num >> shift); } return num; }

Read more about this topic:  Gray Series

Famous quotes containing the words converting, gray and/or code:

    A way of certifying experience, taking photographs is also a way of refusing it—by limiting experience to a search for the photogenic, by converting experience into an image, a souvenir. Travel becomes a strategy for accumulating photographs.
    Susan Sontag (b. 1933)

    And mimic desolation covers all.
    —Thomas Gray (1716–1771)

    Faultless honesty is a sine qua non of business life. Not alone the honesty according to the moral code and the Bible. When I speak of honesty I refer to the small, hidden, evasive meannesses of our natures. I speak of the honesty of ourselves to ourselves.
    Alice Foote MacDougall (1867–1945)