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 itby 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)
“Life stood on the top stair a moment
Waved her last gray slander down the stair,
I will not forget her absent eyes
Her other smile like one rose
Falling, falling everywhere....”
—Allen Tate (18991979)
“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 (18441900)