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.