cobol
Jak działa obliczenie w kobolu?
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.
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.