23 lines
495 B
Plaintext
23 lines
495 B
Plaintext
[ dup 1 >> ^ ] is encodegray ( n --> n )
|
|
|
|
[ dup
|
|
[ dip [ 1 >> ]
|
|
over ^
|
|
over 0 = until ]
|
|
nip ] is decodegray ( n --> n )
|
|
|
|
[ [] unrot times
|
|
[ 2 /mod char 0 +
|
|
rot join swap ]
|
|
drop echo$ ] is echobin ( n n --> )
|
|
|
|
|
|
say "number encoded decoded" cr
|
|
say "------ ------- -------" cr
|
|
32 times
|
|
[ sp i^ 5 echobin
|
|
say " -> "
|
|
i^ encodegray dup 5 echobin
|
|
say " -> "
|
|
decodegray 5 echobin cr ]
|