Add tasks for all the new languages
This commit is contained in:
parent
9dc3c2bb62
commit
bba7bfd280
13208 changed files with 134745 additions and 0 deletions
21
Task/Gray-code/Phix/gray-code.phix
Normal file
21
Task/Gray-code/Phix/gray-code.phix
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
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
|
||||
Loading…
Add table
Add a link
Reference in a new issue