Und warum übersetzt du das dann nicht einfach ins Pascal?
<< ... SHL
x |= y ... x := x or y
~ ... -
& ... and
usw.
Der Algo ist auch so recht einfach
Ord(c)-63 und 5 Bit ($1F) = die Zeichen @ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
jedes Zeichen ergibt also 5 Bit eines Wertes, als Trennzeichen dient das Leerzeichen oder alles Kleinere (Zeilenumbrüche usw.)
Das kleinste Bit (
Odd) wird dabei als Vorzeichen verwendet.
Es werden nacheinander zwei "Zahlenblöcke" dekodiert und jeweils miteinander aufsummiert.
Es wird also immer die Differenz zum vorherrigen Wertepaar gespeichert/ausgelesen und am Anfang natürlich in Bezug auf 0:0.