- •Содержание
- •Часть I. Арифметика в форматах с фиксированной точкой
- •1. Введение
- •Место и роль Арифметики цифровых вычислительных машин в современной науке
- •Предмет и предназначение настоящей книги
- •Рекомендации читателю
- •Раздел 2 достаточно просмотреть, быстро переворачивая страницы.
- •Позиционные системы счисления
- •Двоичная, восьмеричная, шестнадцатеричная и двоично-кодированные системы счисления
- •Преобразование чисел из десятичной в двоичную, восьмеричную и шестнадцатеричную системы счисления и наоборот
- •Представление чисел в форматах с фиксированной точкой
- •Формат с фиксированной точкой
- •Свойства формата с фиксированной точкой
- •Ограниченный диапазон представления чисел
- •Точность действительного числа в формате и точность формата
- •Значимость числа и потеря значимости
- •Эффективность использования двоичного формата
- •Представление чисел в прямом, обратном и дополнительном кодах
- •Взаимное преобразование прямого, обратного и дополнительного кодов
- •Взаимное преобразование прямого и обратного кодов отрицательных чисел
- •Взаимное преобразование обратного и дополнительного кодов отрицательных чисел
- •Взаимное преобразование прямого и дополнительного кодов отрицательных чисел
- •Запись кода числа в формат с фиксированной точкой
- •Функции системы записи и исключительные ситуации
- •Округление действительных чисел
- •Округление кодов действительных чисел с записью в формат с фиксированной точкой
- •Округление прямого кода числа
- •Округление обратного и дополнительного кодов положительного числа
- •Округление обратного кода отрицательного числа
- •Округление дополнительного кода отрицательного числа
- •Арифметические операции в форматах с фиксированной точкой
- •Операция пересылки
- •Операция изменения знака
- •Операции алгебраического сложения и вычитания
- •Сложение в дополнительном коде
- •Вычитание в дополнительном коде
- •Особенности сложения и вычитания в дополнительном коде
- •Сложение в обратном коде
- •Вычитание в обратном коде
- •Особенности сложения и вычитания в обратном коде
- •Взаимная замена операций вычитания и сложения
- •Сложение и вычитание в прямом коде
- •Операция алгебраического умножения
- •Умножение в прямом коде
- •Умножение в дополнительном коде
- •Умножение с преобразованием операндов в прямой код и произведения в дополнительный
- •Умножение дополнительного кода множимого на модуль множителя
- •Умножение дополнительного кода множимого на дополнительный код множителя
- •Умножение множимого в традиционной двоичной системе на множитель, представленный в двоичной системе счисления с алфавитом
- •Умножение дополнительных кодов с заменой знакового разряда множителя 1 на
- •Преобразование множителя с заменой цепочек единиц нулями
- •Преобразование множителя с сокращением вдвое верхней оценки количества единиц
- •Умножение на два разряда с переносом 1 в очередную двойку разрядов множителя
- •Умножение на два разряда с преобразованием множителя заменой цепочек единиц нулями
- •Умножение на два разряда множителя с увеличенным количеством нулевых частных произведений
- •Изменение операции над частным произведением
- •Вычисление частного произведения с требуемым знаком
- •Сокращение матриц дополнительных кодов частных произведений
- •Табличный способ умножения
- •Умножение чисел большой разрядности
- •Операции алгебраического деления и вычисления остатка
- •Математические основы некоторых способов деления двоичных чисел
- •Деление двоичных чисел в прямом коде
- •Деление с восстановлением остатка
- •Деление без восстановления остатка
- •Деление с вычислением очередного сдвинутого влево остатка
- •Деление без записи очередного остатка на место предыдущего
- •Деление двоичных чисел в дополнительном коде
- •Деление нормализованных двоичных чисел
- •Некоторые способы ускорения деления
- •Операция сравнение
- •Выполнение операций в двоично-десятичной системе счисления
- •Вычисление двоично-десятичного кода обратной десятичной цифры
- •Взаимные преобразования прямого, обратного и дополнительного кода двоично-десятичного числа
- •Изменение знака двоично-десятичных чисел
- •Сложение двоично-десятичных чисел
- •Сложение в двоично-десятичной системе 8421
- •Вычитание двоично-десятичных чисел
- •Литература
Умножение на два разряда с переносом 1 в очередную двойку разрядов множителя
При преобразовании
множителя Y
в Z
можно не изменять значение 00, 01, 10 двойки
младших разрядов Y
и записывать
в матрицу частных произведений 0, X
или 2X
соответственно. Если двойка разрядов
множителя равна 11 (3), то значение 11 можно
представить как 4+(-1).
Для этого достаточно принять двойку
разрядов Z
равной
и переслать в следующую двойку разрядов
перенос
,
имеющий вес 4. Умножение на двойку
потребует вычитания X
или сложения с (-X).
Умножение на очередную двойку разрядов выполняется по такому же правилу, если перенос из предыдущей двойки равен 0.
Если перенос из предыдущей двойки равен 1, то код очередной двойки увеличивают на 1, заменяя 00 на 01, 01 на 10, 10 на 11, а 11 на 00 с формированием переноса равного 1 в последующую двойку разрядов множителя. Табл.4.7 определяет правила преобразования множителя Y в Z и значение частного произведения на двойку разрядов.
П
Таблица 4.7
yi+1
yi
ci
zi+1
zi
ci+2
Частное произведение
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
0 1 0
0 1 0
1 0 0
1 0 0
0 1
1
0 1
1
0 0 1
0
X
X
2X
2X
-X
-X
0
.
При нечетном числе разрядов, включая
разряд знака, в последней двойке принимают
старший разряд равным знаковому.
Каждое очередное частное произведение сдвигают на 2 разряда влево, поскольку вес младшего разряда очередной двойки в 4 раза больше предыдущей.
Пример 4-44.
Выполнено умножение дополнительных
кодов. Код 1|00…0 кодирует число
.
Разрядность произведения
.Частные
произведения найдены по табл.4.7.
В варианте A
для двойки младших разрядов Y
.
Из табл.4.7 следует, что частное произведение
равно 2X,
а перенос в следующую двойку разрядов
.
Умножение X
на 2 достигается сдвигом кода X
на один разряд влево с занесением 0
справа.
Для следующей
двойки разрядов Y
.
Из табл.4.7 произведение X
на эту двойку разрядов равно –X
и перенос
.
Так как вес младшего разряда двойки 4,
то частное произведение равно
.
Д
ля
очередной двойки разрядов Y
.
Частное произведение
,
.
Для двойки разряда
знака
,
так как
.
В варианте B
разряд знака и дополнительный старший
значащий разряд произведения вычислены
по отдельным правилам (раздел 4.4.2), что
позволило сократить два левых столбца
матрицы. Стрелкой показано, что два
младших разряда первого частного
произведения можно записывать в младшие
разряды произведения, поскольку они не
участвуют в сложении строк матрицы. При
умножении на разряд знака
,
так как
и перенос из предыдущей двойки разрядов
.
Поэтому последнее частное произведение
равно 0.
В варианте C
перенос в разряд знака
.
Поэтому
,
и из табл.4.7 следует, что последнее
частное произведение равно (-X).
Недостатком рассматриваемого способа умножения является распространение переноса, что требует поочередного умножения на двойки разрядов множителя.
