| |
|
|
p.specht
| Graycode hilft manchmal, Vereinfachungsmöglichkeiten bei elekronischen Steuerschaltungen zu erkennen, da sich von Schritt zu Schritt jeweils nur 1 bit ändert. Dummerweise gibt es aber gleich mehrere Graycodes, wobei manche z.B. auf Drehgebern eingesetzt werden (Man kann die Lichtschranken-Schaltkulisse dann in einem einzigen, zusammenhängenden Stück erzeugen).
WindowTitle "Bin2Gray und Gray2Bin"
' Binärcode nach Graycode und zurückwandeln
' (CL) Copyleft 2013-06 by P. Specht
' Q: https://de.wikipedia.org/wiki/Gray-Code
cls:font 2:Windowstyle 1048
var v$=mkstr$("0",32):declare gray&
whileloop 0,20000000
locate 10,23:print right$(v$+bin$(&Loop),32)
gray&=bin2gray(&Loop)
locate 14,23:print right$(v$+bin$(gray&),32)
locate 18,23:print right$(v$+bin$(gray2bin(gray&)),32)
waitinput 400
endwhile
waitinput
end
proc Bin2Gray
parameters bin&
return xor(bin&,bin&\2)
endproc
proc Gray2Bin
parameters Gray&
declare i&,k&
whileloop 31,0,-1:i&=&Loop
k&=k& | XOR((((1 <<(&Loop+1)) & k&)>>1),(1<<&Loop) & Gray&)
endwhile
return k&'Binär
endproc
|
|
|
| Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'... | 09.05.2021 ▲ |
|
|
|