- •Тверской государственный технический университет
- •Регистрация информации в современных эвм.
- •Предисловие
- •Глава 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.4. Числа в форме с плавающей запятой – форматы «е» и «d»
Число с основанием «d» в форме с плавающей запятой выглядит следующим образом:
Х d =± d ±Pr · M d , (6.1)
где d – основание системы счисления; Pr – порядок числа; Мd – мантисса числа – дробное число, старшая цифра в котором отлична от нуля.
Формирование числа в форме с плавающей запятой начинается с записи мантиссы числа Md. Порядок числа Pr определяется параллельно с формированием мантиссы.
Примеры представления чисел с различными основаниями в форме с плавающей запятой:
+3785,61810 = +10+4 · 0,378561810;
–0,003АС7Д16 = –16-2· 0,3АС7Д16;
+110110, 1011012 = 2+6·0,1101101011012.
Анализ компонентов формы числа с плавающей запятой (6.1) дает основание сделать вывод о том, что для данного способа внутри машинной регистрации подлежат в обязательном порядке:
Знак числа.
P r – порядок числа со знаком.
М d – мантисса числа.
Основание системы счисления «d» регистрировать не надо, так как для определенного класса ЭВМ оно имеет одно то тоже значение ( для современных ЭВМ 4-ого поколения d = 16). Запятую или точку в мантиссе также можно не регистрировать, так как она также имеет фиксированное место. Форматы «Е» и «D» являются форматами постоянной длины: «Е» – 4 байта, «D» – 8 байтов (рис. 6.3).
Компоненты числа, представленного в форме с плавающей запятой, размещаются в полях форматов «Е» и «D» следующим образом:
1. Знак числа в обоих форматах регистрируется в нулевом разряде, кодировка такая же, как и в форматах «H» и «F»: «+» кодируется «0»-ем, «–» –« 1»-ей.
2. Для регистрации знака порядка числа отводится 1-й разряд, числового значения Pr –разряды со 2-го по 7-й, т. е. 6 двоичных разрядов. Тогда порядок числа Pr может принимать следующие значения:
– 1111112 ≤ P r ≤ + 1111112 ;
–6310 ≤ P r ≤ +6310 ( 6.2)
|
|
|
|
0 78 15 16 23 24 31
а )
|
|
|
|
|
|
|
0 78 15 16 2324 31 32 39 40 47 48 55 56 63
б)
|
|
|
|
|
|
0 1 2 3 4 5 6 7
Зн. Зн.
чис по
ла ряд
ка
в)
Рис. 6.3. Представление чисел в форме с плавающей запятой:
а – формат «Е», б – формат «D», в – младший байт форматов «Е» и «D»
Алгоритмы выполнения арифметических операций над числами, представленными в форме с плавающей запятой, требуют наличия только положительных порядков операндов, участвующих в операциях. Поэтому при вводе числовой информации в ЭВМ в форматах «Е» и «D» специальным программным средствам приходится увеличивать порядки чисел на 64 посредством умножения значений всех входных переменных на 1664. В результате таких действий в ОП ЭВМ осуществляется запись не порядков чисел, а уже скорректированных машинных порядков чисел Pm:
Pm= Pr + 64
Если ко всем трем частям неравенства (6.2) прибавить 6410 = 10000002, то получится диапазон для значений машинных порядков Pm чисел, представленных в форматах «Е» и «D».
–64 + 64 ≤ P r + 64 ≤ +63 + 64
110 ≤ P m ≤ 12710
00000012 ≤ P m ≤ 11111112
В машинном порядке Pm, в результате таких преобразований получается обратная кодировка знака порядка числа Pr : если Pr ≥ 0, то значение 1-го разряда равно «1», если Pr ≤ 0, то значение 1-го разряда принимает значение «0». Для сохранения числовой информации вне ЭВМ, при выводе результатов числа, зарегистрированные в форматах «Е» и «D», умножаются на 16-64, т. е. осуществляется обратный переход от машинных порядков Pm к порядкам чисел Pr.
3. Для регистрации мантиссы в формате «Е» отводятся разряды с 8-го по 31-й – три байта. В каждом байте 2 тетрады и, следовательно, можно зафиксировать по две 16-ричных цифры, т. е. в совокупности использование формата «Е» позволяет зарегистрировать шесть 16-ричных цифр мантиссы. В формате «D» для регистрации мантиссы используются разряды с 8-го по 63-й, 7 байтов, и, соответственно, можно зарегист-рировать четырнадцать 16-ричных цифр. Поскольку использование формата «D» обеспечивает внутри машинное представление четырнадцати 16-ричных цифр, а это около восемнадцати 10-ричных цифр вне ЭВМ, против шести 16-ричных и восьми 10-ричных цифр для формата «Е», можно сделать вывод о том, что использование формата «D» обеспечивает значительно большую точность вводимых исходных данных и результатов вычисления.
Макрокоманда DEСLARE для переменных, представленных в форме с плавающей запятой, выглядит следующим образом:
DСL [ имя переменной ] FLOAТ DECIMAL ( p ), (6.3)
0 ≤ p ≤ 8 – формат «Е»
9 ≤ p ≤ 16 – формат «D»
На основании информации, представленной в данном параграфе, можно сформулировать алгоритм формирования внутри машинного представления чисел, представленных в форме с плавающей запятой –форматы «Е» и «D»:
1. Перевести число из 10-ричной СС в 16-ричную СС.
2. Представить в форме с плавающей запятой (6.1).
3. Найти значение машинного порядка в двоичной системе счисления:
Pm = 10000002 + Pr
4. Сформировать содержимое младшего байта поля: разряды с 0-го
по 7-й.
5. Сформировать содержимое поля мантиссы, записывая по две тетрады двоичных разрядов (фактически по две 16-ричных цифры в каждый байт) слева направо.