Einzelnen Beitrag anzeigen

Muetze1
(Gast)

n/a Beiträge
 
#10

Re: 16-Bit Folge über LPT ausgeben

  Alt 14. Jan 2008, 16:17
Zitat von BoondockDuckling:
Sehe ich das richtig dass durch lData := lData shl 1; die bitfolge um eine Stelle vorschoben wird sodass Bit 14 zu Bit 15 wird und so beim nächsten Durchlauf der for-schleife wieder entsprechend bei lBit := ( lData and $8000 ) <> 0; ausgelesen wird?
Ganz genau. Bitweises Shiften und es passiert genau das von dir beschriebene. Von daher ist die umgekehrte Ausgabe nichts anderes als Bit 0 abfragen und nach rechts schiften, so dass alle Bits nacheinander durch das Bit 0 gehen.

Die Bits die beim Shiften "rüberfallen" sind weg - im Gegensatz zum rotieren (ror, rol), dort würden die rausfallenden Bits wieder auf der jeweils anderen Seite wieder reinrutschen. Delphi bietet dafür aber keine Operatoren an, somit nur so als Information.
  Mit Zitat antworten Zitat