Sök…


Introduktion

Beräkningsklausul används för att beskriva lagringstyp som används i COBOL. Det används på tre sätt: COMP-1, COMP-2 och COMP-3. COMP-3 är den vanligaste beräkningsformen. Det kallas ofta bara "COMP" av programmerare.

COMP-3

Dataposten lagras i packad decimalformat i COMP-3. Packad-decimalformat innebär att varje lagringsbyte (förutom byte med låg ordning) kan innehålla två decimaler. Byte med låg ordning innehåller en siffra i den vänstra delen och tecknet (positivt eller negativt) i den högra delen.

"Zoned decimalformat" i bilden nedan är standardlagring för ett nummer i COBOL.

ange bildbeskrivning här

01 WS-NUM PIC 9(5) USAGE IS COMP-3 VALUE 21544.

Beräkningslagring används ofta för att minska storleken på en fil.

Vanliga implementeringar

Hur comp, comp-1 ... comp-5 implementeras är implementeringsberoende.

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 har normalt stöd för Comp, Comp-4, Comp-5 i storlekar på 2,4,8 byte. GNU Cobolo-stödstorlekar på 1,2,4,8.

Comp-1, Comp-2-fält definieras utan bildklausul:

03 Floating-Field      Comp-1.
03 Double-Field        Comp-2

För andra komp är bilden angiven:

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
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow