COMP-2 на языке COBOL

Опубликовано: 9 Января, 2023

В COMP Usage данные будут храниться в полной двоичной форме. В зависимости от использования данные будут храниться либо в ПОЛОВИННОМ, либо в ПОЛНОМ СЛОВЕ. ПОЛУСЛОВО, которое представляет собой не что иное, как 2-байтовые данные, а ПОЛНОЕ СЛОВО - это не что иное, как 4 байта данных.

Когда приходит COMP-2, это похоже на COMP-1. В COMP-1 данные будут храниться в одном слове в форме с плавающей запятой, тогда как в COMP-2 данные будут храниться или представляться в двух словах памяти.

Функции:

  • Нам не нужно специально использовать предложение PICTURE для переменных COMP-2, аналогичных COMP-1, поскольку PIC поможет создать связь между именем данных и типом данных, но в COMP-2 данные являются числовыми, а тип данных уже предопределен. как два слова.
  • COMP-2 сравнительно более точен, чем COMP-1, потому что это сделает данные более значимыми.

Пример:

Cobol




Program for COMP-2 in COBOL
IDENTIFICATION DIVISION.
PROGRAM-ID. Comp2-Code.
ENVIRONMENT DIVISION.
DATA DIVISION.
    WORKING-STORAGE SECTION.
        77 WS-VAL1  PIC 9(2USAGE IS COMP.
        77 WS-VAL2  PIC 9(3USAGE IS COMP.
        77 WS-VAL3  PIC 9(6USAGE IS COMP.
        77 WS-VAL5  USAGE IS COMP-2.
PROCEDURE DIVISION.
    DISPLAY "COMP USAGE DISPLAY".
        MOVE 99 TO WS-VAL1.
    DISPLAY "VALUE OF WS-VAL1 IS: " WS-VAL1.
    DISPLAY "LENGTH OF WS-VAL1: " LENGTH OF WS-VAL1.
        MOVE 99 TO WS-VAL2.
    DISPLAY "VALUE OF WS-VAL2 IS: " WS-VAL2.
    DISPLAY "LENGTH OF WS-VAL2: " LENGTH OF WS-VAL2.
        MOVE 99 TO WS-VAL3.
    DISPLAY "VALUE OF WS-VAL3 IS: " WS-VAL3.
    DISPLAY "LENGTH OF WS-VAL3: " LENGTH OF WS-VAL3.
    DISPLAY "                                       "
    DISPLAY "COMP-2 USAGE DISPLAY".
        MOVE 999 TO WS-VAL5.
    DISPLAY "VALUE OF WS-VAL5 IS: " WS-VAL5.
    DISPLAY "LENGTH OF WS-VAL5: " LENGTH OF WS-VAL5.
STOP RUN.

Выход:

Объяснение:

В этом примере мы показываем сравнительный пример для COMP и COMP-2. Итак, мы видим, что длина переменных COMP варьируется в зависимости от входных данных, но длина переменной COMP-2 составляет 8 байтов, а также мы не указываем пункт PICTURE.