Символьный формат «С»

Формат «С» – это формат переменной длины. Переменные, объявленные в данном формате, могут занимать поля ОП от 1 до 32 778 байтов. Каждый байт используется для внутри машинного представления одного из 196 символов кода ДКОИ. Макрокоманда DСL для переменной, которая должна быть объявлена в символьном формате, имеет следующий вид:

DСL [ Имя переменной ] CHARACTER (n),

где n – длина поля ОП, закрепленного за переменной, объявленной в символьном формате, в байтах, 1 ≤ n ≤ 32 778.

Десятичный формат «Р»

Формат «Р» – это формат переменной длины, предназначен для записи в ОП целых десятичных чисел со знаком. Переменные, объявленные в данном формате, могут занимать поля от 1 до 8 байтов ОП. Макрокоманда DСL для переменной, за которой закрепляется десятичный формат «Р», имеет следующий вид:

DСL [ Имя переменной ] FIXED DECIMAL (n),

где n – длина поля ОП, закрепленного за переменной, объявленной в десятичном формате, в байтах, 1 ≤ n ≤ 8.

Запись числа в ОП в формате «Р» осуществляется следующим образом: знак числа записывается в правые четыре бита старшего байта поля ОП, закрепленного за переменной, в левые четыре бита записывается двоичное представление младшей цифры числа, остальные цифры записываются справа налево (в сторону возрастания весовых коэффициентов) по две в каждый байт. Незаполненные тетрады заполняются «0». Кодировка знака числа осуществляется 16-ричными цифрами: знак «+» кодируется цифрой «С», знак «–» – цифрой «D». Особенностью формата «Р» является тот факт, что старшие по весовым коэффициентам десятичные цифры, для которых не хватило места в байтах поля ОП, зарезервированного за данной переменной, отбрасываются. В результате при выполнении операции присваивания в ОП может быть записано совершенно не то число, которое находится справа от знака равенства. В связи с этим необходимо внимательно относиться к оценке значений переменных, объявленных в формате «Р», и правильно выбирать параметр формата «n».


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: