Szukaj…


Wprowadzenie

Klauzula obliczeniowa służy do opisu rodzaju pamięci używanej w języku COBOL. Jest używany na 3 sposoby: COMP-1, COMP-2 i COMP-3. Najczęstszą formą obliczeń jest COMP-3. Jest często nazywany przez programistów „COMP”.

COMP-3

Element danych jest przechowywany w zapakowanym formacie dziesiętnym w COMP-3. Format po przecinku oznacza, że każdy bajt pamięci (z wyjątkiem bajtu niskiego rzędu) może zawierać dwie liczby dziesiętne. Bajt niskiego rzędu zawiera jedną cyfrę w skrajnej lewej części i znak (dodatni lub ujemny) w skrajnej prawej części.

„Strefowy format dziesiętny” na poniższym obrazku jest domyślnym miejscem przechowywania liczby w języku COBOL.

wprowadź opis zdjęcia tutaj

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

Pamięć obliczeniowa jest często używana do zmniejszania rozmiaru pliku.

Wspólne wdrożenia

Sposób implementacji comp, comp-1 ... comp-5 zależy od implementacji.

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

Kompilatory Ibm zwykle obsługują Comp, Comp-4, Comp-5 w rozmiarach 2,4,8 bajtów. GNU Cobolo obsługuje rozmiary 1,2,4,8.

Pola Comp-1, Comp-2 są zdefiniowane bez klauzuli obrazkowej:

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

W przypadku innych Comp należy wpisać zdjęcie:

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
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow