- •Содержание
- •Часть I. Арифметика в форматах с фиксированной точкой
- •1. Введение
- •Место и роль Арифметики цифровых вычислительных машин в современной науке
- •Предмет и предназначение настоящей книги
- •Рекомендации читателю
- •Раздел 2 достаточно просмотреть, быстро переворачивая страницы.
- •Позиционные системы счисления
- •Двоичная, восьмеричная, шестнадцатеричная и двоично-кодированные системы счисления
- •Преобразование чисел из десятичной в двоичную, восьмеричную и шестнадцатеричную системы счисления и наоборот
- •Представление чисел в форматах с фиксированной точкой
- •Формат с фиксированной точкой
- •Свойства формата с фиксированной точкой
- •Ограниченный диапазон представления чисел
- •Точность действительного числа в формате и точность формата
- •Значимость числа и потеря значимости
- •Эффективность использования двоичного формата
- •Представление чисел в прямом, обратном и дополнительном кодах
- •Взаимное преобразование прямого, обратного и дополнительного кодов
- •Взаимное преобразование прямого и обратного кодов отрицательных чисел
- •Взаимное преобразование обратного и дополнительного кодов отрицательных чисел
- •Взаимное преобразование прямого и дополнительного кодов отрицательных чисел
- •Запись кода числа в формат с фиксированной точкой
- •Функции системы записи и исключительные ситуации
- •Округление действительных чисел
- •Округление кодов действительных чисел с записью в формат с фиксированной точкой
- •Округление прямого кода числа
- •Округление обратного и дополнительного кодов положительного числа
- •Округление обратного кода отрицательного числа
- •Округление дополнительного кода отрицательного числа
- •Арифметические операции в форматах с фиксированной точкой
- •Операция пересылки
- •Операция изменения знака
- •Операции алгебраического сложения и вычитания
- •Сложение в дополнительном коде
- •Вычитание в дополнительном коде
- •Особенности сложения и вычитания в дополнительном коде
- •Сложение в обратном коде
- •Вычитание в обратном коде
- •Особенности сложения и вычитания в обратном коде
- •Взаимная замена операций вычитания и сложения
- •Сложение и вычитание в прямом коде
- •Операция алгебраического умножения
- •Умножение в прямом коде
- •Умножение в дополнительном коде
- •Умножение с преобразованием операндов в прямой код и произведения в дополнительный
- •Умножение дополнительного кода множимого на модуль множителя
- •Умножение дополнительного кода множимого на дополнительный код множителя
- •Умножение множимого в традиционной двоичной системе на множитель, представленный в двоичной системе счисления с алфавитом
- •Умножение дополнительных кодов с заменой знакового разряда множителя 1 на
- •Преобразование множителя с заменой цепочек единиц нулями
- •Преобразование множителя с сокращением вдвое верхней оценки количества единиц
- •Умножение на два разряда с переносом 1 в очередную двойку разрядов множителя
- •Умножение на два разряда с преобразованием множителя заменой цепочек единиц нулями
- •Умножение на два разряда множителя с увеличенным количеством нулевых частных произведений
- •Изменение операции над частным произведением
- •Вычисление частного произведения с требуемым знаком
- •Сокращение матриц дополнительных кодов частных произведений
- •Табличный способ умножения
- •Умножение чисел большой разрядности
- •Операции алгебраического деления и вычисления остатка
- •Математические основы некоторых способов деления двоичных чисел
- •Деление двоичных чисел в прямом коде
- •Деление с восстановлением остатка
- •Деление без восстановления остатка
- •Деление с вычислением очередного сдвинутого влево остатка
- •Деление без записи очередного остатка на место предыдущего
- •Деление двоичных чисел в дополнительном коде
- •Деление нормализованных двоичных чисел
- •Некоторые способы ускорения деления
- •Операция сравнение
- •Выполнение операций в двоично-десятичной системе счисления
- •Вычисление двоично-десятичного кода обратной десятичной цифры
- •Взаимные преобразования прямого, обратного и дополнительного кода двоично-десятичного числа
- •Изменение знака двоично-десятичных чисел
- •Сложение двоично-десятичных чисел
- •Сложение в двоично-десятичной системе 8421
- •Вычитание двоично-десятичных чисел
- •Литература
Умножение на два разряда с преобразованием множителя заменой цепочек единиц нулями
Воспользовавшись
табл.4.5 по значениям
определим для двойки разрядов множителя
Y
двойку разрядов Z
и запишем результаты в табл.4.8.
По значениям найдем частное произведение на эти двойки.
Ч
Таблица 4.8
yi+1
yi
yi-1
zi+1
zi
Частное произведение
0 0 0 0
0 1 0
1 0 0
1 1 1
0 0 1
0 1 1
1 0 1
1 1
0 0 0
1 11 1
0 1
0 1
1 01 0
0
0 X X 2X –2X –X –X 0
,
как это видно из табл.4.8, равно (–2X)
и может быть получено сдвигом влево на
один разряд значения X
взятого с обратным знаком. Разумеется,
можно при умножении не фиксировать
значение
и, в зависимости от значения тройки
,
формировать соответствующее частное
произведение.
Разбиение Y
на пары разрядов выполним справа налево.
Примем индекс младшего разряда
и
.
При нечетном числе разрядов
,
где
– разряд знака.
При организации процесса вычисления произведения полезно учитывать, что частное произведение на двойку младших разрядов множителя не может быть равным 2X. Кроме того, при нечетном числе разрядов и разбиении множителя на двойки справа налево частное произведение на разряд знака может быть равным только (–X) или 0.
Пример 4-45. Выполняется умножение дополнительных кодов операндов с вычислением дополнительного кода произведения по табл.4.8.
В варианте A
количество разрядов операндов четное
и равно 8 (n=7).
Вычисляются все
разрядов произведения. Частные
произведения записаны в матрицу в
дополнительном коде и расширены влево
до 16 разрядов копированием кода знака.
Индекс младшего
разряда правой двойки разрядов множителя
.
Значение
,
т.к.
.
Из табл.4.8 следует, что частное произведение
на двойку младших разрядов равно X.
Индекс младшего
разряда следующей двойки разрядов
множителя
.
Значение
.
Из табл.4.8 следует, что произведение X
на эту двойку разрядов равно
.
Так как
,
частное произведение
и поэтому сдвинуто на два разряда влево
относительно частного произведения на
младшую двойку разрядов множителя.
Каждое последующее частное произведение вычислено по аналогии с предыдущими.
В варианте B
количество разрядов операндов нечетное
и равно 9 (n=8).
Вычисляются
A B С
X: 10001101
д
(-115) 011001101
д
(+205) 10001100
д (-116)
Y: 11
01 11 01 д
(-35) 1
01 10 10 01 д
(-151) 11
01 11 01 д
(-35) 1111111110001101 X 000000000011001101 X 1
0
1
0 00000001110011 –X×4 1111111001100110 –2X×4
11111110001100 X 111100011010 2X×16 11111100110011 –X×16
000001110010 –X×4 0001110011 –X×64 000110011010 2X×64
1100011000 2X×16 000011111011100д 1100110011
X×256
01110010 –X×64
+4025 111000011100010101д
0000111111011100д
–30955 +4060
разрядов произведения. Поскольку индекс
разряда знака
,
то тройка
,
так как
.
Из табл.4.8 следует, что произведение
X
на разряд знака равно
,
а частное п
.
В варианте C знак и дополнительный старший значащий разряд произведения вычисляются по отдельному правилу, что позволило сократить два левых столбца в матрице. Изменение знака множимого совмещено с выполнением сложения строк матрицы тем же способом что и в варианте B примера 4-42.
Рассмотренный способ умножения на два разряда множителя позволяет формировать строки матрицы в любой очередности или все строки одновременно.
