10 lines
155 B
Nim
10 lines
155 B
Nim
|
|
proc grayEncode(n): auto =
|
||
|
|
n xor (n shr 1)
|
||
|
|
|
||
|
|
proc grayDecode(n): auto =
|
||
|
|
result = n
|
||
|
|
var t = n
|
||
|
|
while t > 0:
|
||
|
|
t = t shr 1
|
||
|
|
result = result xor t
|