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.

voer hier de afbeeldingsbeschrijving in

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.


Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow