Что значило, что код справа от объявления переменной в cobol? - PullRequest
0 голосов
/ 17 мая 2018

Я изучал код кобола, и я нашел, и я не понял число справа от строки кода, как показано ниже:

007900     03  EXAMPLE-NAME       PIC S9(17)  COMP-3.              EB813597

первое число соответствует позиции этой строки в коде, второе - позиции столбца (например, сколько «вкладок» вы используете), третье - тип переменной, но четвертое ( COMP-3) ) и в основном последний ( EB813597 ) я не понял.

Кто-нибудь может мне помочь?

1 Ответ

0 голосов
/ 18 мая 2018

Столбцы> = 72 игнорируются.Так что EB813597 игнорируется.Это может быть идентификатор изменения в последний раз, когда он был изменен, или иметь определенное значение для конкретного сайта, например, EB может быть инициалами человека, который его в последний раз изменил.

Comp-3 - isтип числовой.Это немного похоже на использование int или double в C / Java.В Comp-3 (упакованный десятичный) 123 хранится как x'123c '.Альтернативы comp-3 включают comp - обычно двоичное целое число с прямым порядком байтов, comp-5 (например, int / long в C)

007900     03  EXAMPLE-NAME       PIC S9(17)  COMP-3.              EB813597
 (a)      (b)  Field-Name         (c)  (d)    Usage (numeric type)


a - line-number ignored by the compiler
b - level-number it provides a method of grouping fields together

      01  Group.
          03 Field-1 ...
          03 Field-2 ... 

    field-1 and field-2 belong to group. it is a bit like struct in c

        struct {
            int field_1;
            int field-2;
            ...
       }
c) PIC (picture) tells us the field picture follows.
d) fields picture in this case it is a signed field with 17 decimal digits
Comp-3 - usage - how the field stored

Итак, кратко ИМЯ-ПРИМЕР - это числовое поле со знаком с десятичными цифрами 17 , которое сохраняется как Comp-3 (упакованный десятичный знак).

...