cobol
Hoe werkt de berekening in cobol?
Zoeken…
Invoering
Computationele clausule wordt gebruikt om het type opslag te beschrijven dat in COBOL wordt gebruikt. Het wordt op 3 manieren gebruikt: COMP-1, COMP-2 en COMP-3. De meest voorkomende vorm van computation is COMP-3. Het wordt vaak gewoon "COMP" genoemd door programmeurs.
COMP-3
Gegevensitem wordt opgeslagen in ingepakt decimaal formaat in COMP-3. Packed-decimale indeling betekent dat elke byte van opslag (behalve de byte van lage orde) twee decimale getallen kan bevatten. De byte van lage orde bevat één cijfer in het meest linkse gedeelte en het teken (positief of negatief) in het meest rechtse gedeelte.
"Zoned decimal format" in de onderstaande afbeelding is de standaardopslag voor een nummer in COBOL.
01 WS-NUM PIC 9(5) USAGE IS COMP-3 VALUE 21544.
Computationele opslag wordt vaak gebruikt om de grootte van een bestand te verminderen.
Gemeenschappelijke implementaties
Hoe comp, comp-1 ... comp-5 worden geïmplementeerd, is afhankelijk van de implementatie.
Format Normal Implementation
Comp Big endian binary integer
Comp-1 4 byte floating point
Comp-2 8 byte floating point
Comp-3 Packed decimal 123 is stored as x'123c'
Comp-5 Binary Integer optermised for performance.
Big Endian on the Mainframe, Little Endian on Intel Hardware
Ibm-compilers ondersteunen normaal gesproken Comp, Comp-4, Comp-5 in formaten van 2,4,8 bytes. GNU Cobolo-ondersteuningsgroottes van 1,2,4,8.
Comp-1, Comp-2 velden worden gedefinieerd zonder een beeldclausule:
03 Floating-Field Comp-1.
03 Double-Field Comp-2
Voor andere Comp's worden afbeeldingen ingevoerd:
03 Big-Endian Pic S9(4) Comp.
03 Packed-Decimal Pic S9(5) Comp.