- •Тверской государственный технический университет
- •Регистрация информации в современных эвм.
- •Предисловие
- •Глава 1
- •Глава 2
- •2.1. Движущийся участок магнитного носителя информации
- •2.2. Триггер – физический аналог одного двоичного разряда
- •Глава 3
- •3.1. Системы счисления и правила перевода чисел
- •Глава 4
- •Глава 5
- •5.1. Структура основной памяти (оп)
- •5.2. Структура и организация сверхоперативной памяти (соп)
- •5.3. Структура информационных связей блоков
- •Глава 6
- •6.1. Символьный формат «с»
- •6.2. Десятичный формат «р»
- •6.3. Целые двоичные числа – форматы «н» и «f»
- •6.4. Числа в форме с плавающей запятой – форматы «е» и «d»
- •6.5. Примеры внутри машинного представления значений переменных в основных форматах данных
- •Глава 7
- •7.1. Понятие машинной команды
- •7.2. Форматы команд 32-разрядных эвм
- •Приложения
- •Библиографический список
- •170026, Г. Тверь, наб. Афанасия Никитина, 22
6.1. Символьный формат «с»
Формат «С» – это формат переменной длины. Переменные, объявленные в данном формате, могут занимать поля ОП от 1 до 32 778 байтов. Каждый байт используется для внутри машинного представления одного из 196 символов кода ДКОИ. Макрокоманда DСL для переменной, которая должна быть объявлена в символьном формате, имеет следующий вид:
DСL [ Имя переменной ] CHARACTER (n),
где n – длина поля ОП, закрепленного за переменной, объявленной в символьном формате, в байтах, 1 ≤ n ≤ 32 778.
6.2. Десятичный формат «р»
Формат «Р» – это формат переменной длины, предназначен для записи в ОП целых десятичных чисел со знаком. Переменные, объявленные в данном формате, могут занимать поля от 1 до 8 байтов ОП. Макрокоманда DСL для переменной, за которой закрепляется десятичный формат «Р», имеет следующий вид:
DСL [ Имя переменной ] FIXED DECIMAL (n),
где n – длина поля ОП, закрепленного за переменной, объявленной в десятичном формате, в байтах, 1 ≤ n ≤ 8.
Запись числа в ОП в формате «Р» осуществляется следующим образом: знак числа записывается в правые четыре бита старшего байта поля ОП, закрепленного за переменной, в левые четыре бита записывается двоичное представление младшей цифры числа, остальные цифры записываются справа налево (в сторону возрастания весовых коэффициентов) по две в каждый байт. Незаполненные тетрады заполняются «0». Кодировка знака числа осуществляется 16-ричными цифрами: знак «+» кодируется цифрой «С», знак «–» – цифрой «D». Особенностью формата «Р» является тот факт, что старшие по весовым коэффициентам десятичные цифры, для которых не хватило места в байтах поля ОП, зарезервированного за данной переменной, отбрасываются. В результате при выполнении операции присваивания в ОП может быть записано совершенно не то число, которое находится справа от знака равенства. В связи с этим необходимо внимательно относиться к оценке значений переменных, объявленных в формате «Р», и правильно выбирать параметр формата «n».
6.3. Целые двоичные числа – форматы «н» и «f»
Форматы «Н» и «F» являются форматами постоянной длины. Формат «Н» имеет длину 2 байта, формат «F» – 4 байта (рис. 6.2). Для регистрации знака числа используется «0»-ой разряд. Знак числа «+»
|
|
|
|
|
|
| |||||||||||
0 1 7 |
8 15 a) |
| |||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
0 1 7 8 15 16 23 24 31
б)
Рис.6.2. Структура форматов данных «H» и «F»
кодируется значением «0», знак «–» – значением «1». Числа в форматах «Н» и «F» записываются в ОП в дополнительных кодах. В разрядах с 1-го по 15-й для формата «Н» и с 1-го по 31-й для формата «F» записывается цифровая часть дополнительного кода числа. Запись цифровой части числа осуществляется справа налево, начиная с разрядов 15-ого и 31-ого разрядов, в сторону возрастания их весовых коэффициентов. Нехватка разрядов цифровой части числа соответствует ситуации «переполнение разрядной сетки» – попытке зафиксировать в поле переменной, за которой закреплен формат «Н» или «F», числа, большего по значению верхнего значения диапазонов форматов «Н» или «F». В подобной ситуации необходимо выбрать для переменной другой «формат данных».