RosettaCodeData/Task/Gray-code/Arturo/gray-code.arturo
2026-02-01 16:33:20 -08:00

22 lines
456 B
Text

toGray: function [n]-> xor n shr n 1
fromGray: function [n][
p: n
while [n > 0][
n: shr n 1
p: xor p n
]
return p
]
loop 0..31 'num [
encoded: toGray num
decoded: fromGray encoded
print [
pad to :string num 2 ":"
pad to :string .format:".b" num 5 "=>"
pad to :string .format:".b" encoded 5 "=>"
pad to :string .format:".b" decoded 5 ":"
pad to :string decoded 2
]
]