RosettaCodeData/Task/Gray-code/C/gray-code-1.c

10 lines
137 B
C

int gray_encode(int n) {
return n ^ (n >> 1);
}
int gray_decode(int n) {
int p = n;
while (n >>= 1) p ^= n;
return p;
}