Bitte alles packen was nur geht

Nein in diesem Bericht geht es nicht ums Koffer packen für eine Reise, sondern ums Packen und Entpacken von Zahlen in den alten Programmen.

Definition für gepackte Dezimalzahl: Eine Technik zur Codierung von Dezimalzahlen in binärer Form, bei der der benötigte Speicherplatz durch die Unterbringung von je zwei Ziffern in einem Byte optimal ausgenutzt wird.

In den sogenannt höheren Programmiersprachen wie COBOL, BASIC, JAVA, C usw. werden fürs Speichern von Zahlen jeweils Felder definiert mit den Angaben der Genauigkeit, d.h. es wird bestimmt, welches Format von Zahlen darin Platz haben sollen. Während der Durchführung des Programms werden dann die Zahlen automatisch in das verlangte Format umgewandelt, sei es nun Text, Gleitkommazahl, Binär oder was auch immer. Der Programmierer muss sich dann nicht mehr darum kümmern.

Das war in den 60er-Jahren beim programmieren mit Autocoder/Assembler ganz anders. Damals fochten wir grosse Kämpfe mit gepackten Zahlen aus. Der Hauptgrund war, dass Speicherplatz sehr rar war. Wenn man sich vorstellt, dass der erste Grossrechner (1401) im Jahr 1963 gerade mal 4 K Bytes Speicher hatte. Die Systemkomponenten nahmen bereits einen grossen Teil davon in Anspruch, so dass für unser Programm und die Daten wie Textkonstanten und Rechnungsfelder nicht mehr viel übrig blieb.

Darstellungen für Zahlen bis zu 1 Million mit 2 Nachkommastellen

Für die Darstellung der Zahl auf einer Liste brauchte es eine Editierfunktion, die angab wie der Betrag aussehen soll (Tausenderstrich, Dezimalpunkt, Zwischenräume usw. Das Sparpotential ist also riesig, denn normalerweise werden z.B. Geschäftsergebnis- Listen mit Detailzeilen, Subtotal für Gruppen, sowie Totalzeilen für Agentur oder so und die Zeile mit dem Gesamttotal für die Geschäftsleitung benötigt. Pro Zeile sind mindestens 4 bis 10 Beträge aufgeführt. Da kommen wir auf 4 x 10 Rechenfelder mit 10 Positionen das bedeutet 400 Bytes bei Textablage; aber bei gepackter Speicherung sind es nur 200 Bytes.

Ja es war schon eine Herausforderung das Packen vor dem Addieren und Rechnen nicht zu vergessen, sonst hatte man halt wieder einmal einen Programmabsturz. Und ebenso wichtig war auch das entpacken bzw. editieren, damit alles in lesbarer Darstellung und vor allem mit den richtigen Kommastellen für die Geschäftsleitung bereit war.

Mit Packen kann man wirklich megaviele Bytes sparen!