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)

    He’s in the other room getting stiffer than the bodies he demonstrates.
    Philip MacDonald, and Robert Wise. Landlord, The Body Snatcher, directing Gray to the drunken Dr. MacFarland (1945)

    Acknowledge your will and speak to us all, “This alone is what I will to be!” Hang your own penal code up above you: we want to be its enforcers!
    Friedrich Nietzsche (1844–1900)