Cobol home

Data Types

COMP-3

Gepackte Zahlendarstellung, jede Stelle wird in einem Halbbyte abgelegt. Die letzte Stelle enthält das Vorzeichen:

  • "C": positive
  • "D": negative
  • "F": unsigned

Platzbedarf für n Stellen:

  • (n/2 + 1) falls n gerade

Beispiele (für "123456"):

  • x'0123456F'

9(n)

Bei vorzeichenlosen Zahlen, die nicht gepackt abgelegt sind, werden die einzelnen Stellen als normale EBCDIC Zeichen abgelegt.

Beispiele

  • 12345 -> F1F2F3F4F5

S9(n)

Bei vorzeichenbehafteten Zahlen, die nicht gepackt abgelegt sind, werden die einzelnen Stellen als normale EBCDIC Zeichen abgelegt (F0 bis F9), nur für die letzte (niederwertigste) Stelle erfolgt eine Oder-Verknüpfung mit dem Vorzeichen.

Beispiele

  • +12345 -> F1F2F3F4C5
  • -12345 -> F1F2F3F4D5

Coding Style

Array sollten immer in einem gemeinsamen Strukturelement abgelegt werden und nicht mit anderen Feldern gemischt werden. Nur so lässt sich das ganze Array mit einem Initialize leeren, ohne jedes einzelne Feldelement leeren zu müssen. Dann braucht man auch beim Ändern der Arraygröße nicht an diese Initializes zu denken.

10 ARRAY.
   15 ARRAY-ELEMENT PIC X(03) OCCURS 4.

und nicht

10 STRUCT.
   15 FIELD PIC X(10)
   15 ARRAY-ELEMENT PIC X(03) OCCURS 4.

Links