
- •1. Системы счисления.
- •1.1 Основные понятия и определения.
- •Таб. 1. Наиболее важные системы счисления.
- •1.2 Перевод чисел из одной системы счисления в другую.
- •1.3 Двоичная арифметика.
- •2. Основы машинной арифметики с двоичными числами.
- •2.1 Коды чисел.
- •2.2 Особенности сложения чисел в обратном и дополнительном кодах.
- •2.3 Модифицированные обратный и дополнительный коды.
- •3. Формы представления чисел в эвм.
- •3.1 Числа с фиксированной точкой.
- •3.2 Числа с плавающей точкой.
- •3.3 Арифметические действия над числами с плавающей точкой.
3.3 Арифметические действия над числами с плавающей точкой.
При сложении чисел с плавающей точкой сначала уравниваются порядки слагаемых, а затем складываются мантиссы.
Уравнивание порядков заключается в том, что меньший порядок числа увеличивается до большего, при этом соответственно изменяется и мантисса. Мантиссы складываются в одном из модифицированных кодов . Порядком суммы является больший порядок. Если после сложения результат оказывается ненормализованным, то его нормализуют, изменяя соответственно и порядок.
Пример.
Представить числа X
и Y
в виде нормализованных двоичных чисел
с плавающей точкой и сложить. Результат
проверить переведя сумму в десятичную
систему.
Решение:
1. Переведем числа в двоичную с.с. и нормализуем.
X;
Y.
2. Уравниваем порядки чисел.
X;
Y.
3. Переводим мантиссы чисел в модифицированный дополнительный код и складываем их.
|
|
4. Переводим результат в прямой код:
5. Представляем результат в виде ЧПТ и нормализуем его:
.
Таким образом результат сложения:
.
При умножении двух чисел с плавающей точкой их мантиссы перемножаются, а порядки складываются.
В арифметическо-логическом устройстве (АЛУ) ЭВМ операция умножения реализуется в виде следующей последовательности действий:
1) Мантиссы, представленные в прямом коде, перемножаются (при этом установка десятичной точки происходит как и при нормальном умножении путем подсчета количества разрядов после точки в обоих множителях).
2) Порядки складываются с применением обратного или дополнительного кодов.
3) Знаки чисел обрабатываются специальной логикой (исключающее или).
Пример.
Представить числа X и Y
в виде нормализованных двоичных чисел
с плавающей точкой и перемножить.
Результат проверить переведя произведение
в десятичную систему.
Решение:
1. Переведем числа в двоичную с.с. и нормализуем.
;
2. Запишем мантиссы в восьмиразрядном прямом коде:
;
.
3. а) Перемножим мантиссы. б) Определим знак произведения.
|
Так как знаки множителей разные (в знаковых разрядах 0 и 1 соответственно), то знаком произведения будет “–” (в знаковом разряде будет 1).
|
Таким образом мантисса произведения,
записанная в прямом коде имеет вид:
.
4. Сложим порядки.
.
.
При выполнении операции деления чисел с плавающей точкой мантиссу делимого делят на мантиссу делителя, а из порядка делимого вычитают порядок делителя.
Пример.
Представить числа
и
в виде нормализованных двоичных чисел
с плавающей точкой и вычислить
.
Результат проверить переведя частное
в десятичную систему.
1. Переведем числа в двоичную с.с. и нормализуем.
X;
Y.
2. Разделим мантиссы и вычтем порядки.
;
.
Таким образом результат деления X/Y.
3. Нормализуем результат и переводим в “10” с.с..
X/Y;
X/Y.
В АЛУ ЭВМ, при выполнении операции деления, деление мантисс и вычитание порядков осуществляется с использованием обратного или дополнительного кодов. Знаки чисел обрабатываются специальной логикой (исключающее или).
Упражнения 3.
1. Представить двоичное число в нормализованном виде и записать в ячейку :
а) 110.001; |
б) 11100.11; |
в) –0.0011111; |
г) –0.0000001011; |
д) –1110.1011; |
е) –0.0110101; |
ж) 0.000111; |
з) –11100.001 . |
2 . Представить десятичное число в виде нормализованного двоичного (точность перевода – 10 цифр в мантиссе нормализованного числа). Записать число в ячейку.
а) –117.375; |
б) 94. 6875; |
в) 202 .9; |
г) –35.325;
|
д) –0.48; |
е) 0.22; |
ж) –0.0425; |
з) 0.02 . |
3 . Перевести десятичные числа X и Y в двоичную с.с. (точность перевода – 10 цифр в мантиссе нормализованного числа). Записать их в ячейки в нормализованном виде. Вычислить сумму X и Y (суммирование мантисс производить в модифицированном дополнительном 12-ти разрядном коде). Записать результат в ячейку в нормализованном виде. Сравнить результаты полученные в десятичной и двоичной с.с..
а) X= –15.25; Y= 3.75; |
б) X= –13.8; Y= –3.2; |
в) X= –0.09; Y= 0.55;
|
г) X= –0.04; Y= –0.26; |
д) X= 3.15; Y= –0.4; |
е) X= –0 .03; Y= –2 .27 . |
4. Записать двоичные числа X и Y в нормализованном виде. Вычислить произведение X·Y. Результат записать в нормализованном виде.
а) X= 10011; Y= 11.1 ; |
б) X= –1110; Y= 0.0111; |
в) X= 0.010101; Y= 0. 00101;
|
г) X= –0.001101; Y= 10. 011; |
д) X= 11011.01; Y= 0.010011; |
е) X= 0.00111011; Y= –0.00011001 . |
5. Записать двоичные числа X и Y в нормализованном виде. Вычислить частное X/Y (при делении мантисс точность – 6 знаков после точки). Результат записать в нормализованном виде.
а) X= 101101.01; Y= –101.01; |
б) X= 0.000110101; Y= 0.0000011; |
в) X= 0.011011; Y= –10010.1;
|
г) X= 0.00001011; Y= 0.010011; |
д) X= –1010.11; Y= 1100110; |
е) X= 100011; Y= 0. 00101 . |
Литература.
1. Каган Б.М. Электронные вычислительные машины и системы. М.: Энергоатомиздат, 1991..
2. Савельев А.Я. Прикладная теория цифровых автоматов. М.: Высшая школа, 1983.
3. Лю Ю-Чжен, Гибсон Г. Микропроцессоры семейства 8086/8088. М.: Радио и связь, 1987.
Здесь и в дальнейшем при одновременном использовании нескольких различных систем счисления основание системы к которой относится число будем указывать в виде нижнего индекса.
* Знаковым разрядом обычно является крайний разряд в разрядной сетке. В дальнейшем при записи кода знаковый разряд от цифровых условимся отделять запятой. Если количество разрядов кода не указано будем предполагать, что под запись кода выделен один байт.
Для определенности сложение мантисс будем производить в модифицированном дополнительном восьмиразрядном коде (2 знаковых разряда и 6 разрядов для записи мантиссы).
Во всех упражнениях использовать 16-ти разрядные ячейки.