COMP-1 на языке COBOL
В COMP Usage данные будут храниться в полной двоичной форме. В зависимости от использования данные будут храниться либо в ПОЛОВИННОМ, либо в ПОЛНОМ СЛОВЕ. ПОЛУСЛОВО, которое представляет собой не что иное, как 2-байтовые данные в диапазоне от -32 768 до +32 767, а ПОЛНОЕ СЛОВО - это не что иное, как 4 байта данных в диапазоне от -2 147 483 648 до +2 147 483 648.
Что касается COMP-1, то в COMP-1 данные будут храниться одним словом в форме с плавающей запятой. На самом деле он будет представлен в шестнадцатеричной форме, которая подходит для всех типов арифметических операций.
Нам не нужно специально использовать предложение PICTURE для переменных COMP-1, потому что PIC поможет создать связь между именем данных и типом данных, но в COMP-1 дата является числовой, а тип данных уже предопределен как однословная плавающая форма.
Пример:
Cobol
IDENTIFICATION DIVISION . PROGRAM - ID . Comp1-Code. ENVIRONMENT DIVISION . DATA DIVISION . WORKING-STORAGE SECTION . 77 WS-VAL1 PIC 9 ( 2 ) USAGE IS COMP . 77 WS-VAL2 PIC 9 ( 3 ) USAGE IS COMP . 77 WS-VAL3 PIC 9 ( 6 ) USAGE IS COMP . 77 WS-VAL4 USAGE IS COMP - 1 . 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-1 USAGE DISPLAY" . MOVE 99 TO WS-VAL4. DISPLAY "VALUE OF WS-VAL4 IS: " WS-VAL4. DISPLAY "LENGTH OF WS-VAL4: " LENGTH OF WS-VAL4 DISPLAY " " STOP RUN . |
Выход:
Объяснение:
В этом примере мы показываем сравнительный пример для COMP и COMP-1. Итак, мы видим, что длина переменных COMP варьируется в зависимости от входных данных, но длина переменной COMP-1 составляет 4 байта, а также мы не указываем пункт PICTURE.