16 lines
450 B
Plaintext
16 lines
450 B
Plaintext
INSTALL @lib$+"STRINGLIB"
|
|
|
|
PRINT " Decimal Binary Gray Decoded"
|
|
FOR number% = 0 TO 31
|
|
gray% = FNgrayencode(number%)
|
|
PRINT number% " " FN_tobase(number%, 2, 5) ;
|
|
PRINT " " FN_tobase(gray%, 2, 5) FNgraydecode(gray%)
|
|
NEXT
|
|
END
|
|
|
|
DEF FNgrayencode(B%) = B% EOR (B% >>> 1)
|
|
|
|
DEF FNgraydecode(G%) : LOCAL B%
|
|
REPEAT B% EOR= G% : G% = G% >>> 1 : UNTIL G% = 0
|
|
= B%
|