22 lines
441 B
Plaintext
22 lines
441 B
Plaintext
function gray_encode(integer n)
|
|
return xor_bits(n,floor(n/2))
|
|
end function
|
|
|
|
function gray_decode(integer n)
|
|
integer r = 0
|
|
while n>0 do
|
|
r = xor_bits(r,n)
|
|
n = floor(n/2)
|
|
end while
|
|
return r
|
|
end function
|
|
|
|
integer e,d
|
|
puts(1," N Binary Gray Decoded\n"&
|
|
"== ===== ===== =======\n")
|
|
for i=0 to 31 do
|
|
e = gray_encode(i)
|
|
d = gray_decode(e)
|
|
printf(1,"%2d %05b %05b %2d\n",{i,i,e,d})
|
|
end for
|