Что означает COMP VALUE ZERO в языке COBOL? - PullRequest
0 голосов
/ 15 января 2019

Существует отличное объяснение для COMP по следующей ссылке stackoverflow: https://stackoverflow.com/a/42423487/7802354 но я до сих пор не понимаю, что такое COMP VALUE ZERO в

   77  ABC       PIC S9(4) COMP VALUE ZERO.

означает. Буду признателен, если кто-то разъяснит это.

Ответы [ 2 ]

0 голосов
/ 17 января 2019

Способ чтения этой строки кода

77  ABC       PIC S9(4) COMP VALUE ZERO.

есть

77               is the level
ABC              is the data item name
PIC S9(4) COMP   is the data item's 'data type'
VALUE ZERO       is what to initialize the data item to.
0 голосов
/ 15 января 2019

COMP или COMPUTATIONAL относится к представлению хранилища. Для большинства реализаций это то же самое, что (big-endian) BINARY, для некоторых PACKED-DECIMAL, редко это то же самое представление хранения как DISPLAY. VALUE ZERO означает, что начальное значение будет + 0.

Это похоже на

short abc = 0;

на некоторых других языках. Однако PIC S9(4) ограничивает значение от -9999 до + 9999.

...