Разница между COMP и COMP3
Внутри компьютер хранит данные в более чем одной форме. Язык Кобол помогает программисту указать внутреннее представление данных в соответствии с потребностями. В Cobol доступны две внутренние формы:
- ОТОБРАЖАТЬ -
Это внутреннее представление данных по умолчанию. Любой тип данных может быть указан во внутреннем представлении DISPLAY. - ВЫЧИСЛИТЕЛЬНЫЙ –
Только числовые данные могут быть указаны с ВЫЧИСЛИТЕЛЬНЫМ внутренним представлением. Существует много типов ВЫЧИСЛИТЕЛЬНОГО представления, таких как COMP, COMP-1, COMP-2, COMP-3 и т. д.
Предложение USAGE используется для указания типа внутреннего представления. Вы можете использовать любой номер уровня для предложения USAGE, кроме 66 или 88.
Syntax: USAGE IS {COMPUTATIONAL/COMP/DISPLAY}.
1. КОМП:
Пункт об использовании применим только к числовым элементам данных. Он представляет данные исключительно в двоичной форме. и может хранить данные либо в полуслове, либо в полном слове в зависимости от размера данных. Мы можем использовать только 9 и S во время объявления данных:
- 9 используется для хранения объявленных целочисленных переменных.
- S используется для хранения знака.
2. КОМП3:
Пункт об использовании применим только к числовым элементам данных. Он хранит данные в упакованном десятичном виде. Он использует один самый правый бит для хранения знака, независимо от того, использовали ли мы S в предложении PIC или нет. Шестнадцатеричные числа C и F сохраняют положительный знак в крайнем правом бите, а D сохраняет отрицательный знак в крайнем правом бите. Мы можем использовать 9, S и V в предложении PIC во время объявления данных.
V используется для хранения десятичной точки в определенном месте элемента данных.
Разница между COMP и COMP3:
КОМП | КОМП3 |
---|---|
Он представляет данные в чистом двоичном виде. | Он представляет данные в упакованном десятичном виде. |
Мы можем использовать только 9 и S в пункте PIC. | Мы можем использовать 9 , S , V в пункте PIC. |
Использование COMP сохраняет данные в виде полуслова или полного слова, в зависимости от размера данных. | Использование COMP3 сохраняет 1 цифру в полубайте (т.е. 4 бита), а отдельный 1 бит зарезервирован для знака, который хранится в правой части данных. |
Память, которая будет занята данными в соответствии с длиной, предопределена, т.е.:
| Память, занимаемая данными, определяется по следующей формуле:
Пример: Память, занимаемая S9(3): (3+1)/2 т.е. 2 байта. |
COMP не занимает дополнительного места для хранения знака. | В COMP3 вход обязательно хранится справа и поэтому занимает дополнительное место. |
Пример: 02 CompVariable PIC 9 USAGE IS COMP. 02 CompVariable1 PIC S9(5) USAGE IS COMP. | Пример: 02 Переменная PIC 9 USAGE IS COMP3. 02 Variable1 PIC S9(10) USAGE IS COMP3. 02 Variable2 PIC S9V99 USAGE IS COMP3. |