cobol
Hur fungerar beräkningen i cobol?
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.
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.