- •Министерство образования и науки украины
- •Содержание
- •Требования по оформлению контрольной работы
- •1 Вопросы для проверки уровня знаний основ компьютерной арифметики
- •2 Перечень технической литературы
- •3Cистемы счисления компьютерной арифметики
- •3.1 Представление чисел в позиционных системах счисления
- •3.2 Выбор системы счисления компьютера
- •4 Методы перевода чисел из одной позиционной системы счисления в другую
- •4.1 Методы перевода целых чисел
- •4.1.1 Метод подбора коэффициентов
- •4.1.2 Метод перевода делением на основание новой системы
- •4.1.3 Метод перевода чисел делением на основание в положительной степени
- •4.2 Перевод правильных дробей умножением на основание системы
- •4.3 Перевод неправильных дробей
- •4.4 Перевод чисел из 16-и и 8-ричных систем в двоичную и обратно
- •5 Форматы представления чисел в компьютере
- •5.1 Представления чисел с фиксированной запятой
- •5.2 Представление чисел в формате с плавающей запятой
- •5.3 Погрешности представления чисел
- •5.3.1 Абсолютная погрешность представления чисел
- •5.3.2 Относительная погрешность представления числа
- •6 Бинарная арифметика
- •6 1 Формальные правила двоичной арифметики
- •6.2 Представление отрицательных чисел
- •7 Коды бинарных чисел
- •7.1 Обратный код числа
- •7.1.1 Переход от обратного кода к прямому
- •7.2 Дополнительный код числа
- •7.3 Сложение чисел, представленных в форме с фиксированной запятой, на двоичном сумматоре прямого кода
- •8 Алгебраическое сложение бинарных чисел
- •8.1Cложение чисел на двоичном сумматоре дополнительного кода
- •8.2 Сложение чисел на сумматоре обратного кода
- •9 Модифицированные бинарные коды
- •9.2 Модифицированное сложение чисел в формате с плавающей точкой
- •10 Сложение чисел при разных значениях порядков
- •10.1 Алгоритм операции сложения в формате с плавающей точкой
- •11 Умножение двоичных чисел
- •11.1 Методы умножения бинарных чисел
- •11.2 Умножение чисел с фиксированной запятой на дспк
- •11.3 Умножение чисел с плавающей запятой
- •12 Умножение чисел на дсдк
- •12.1 Умножение чисел на дсдк при положительном множителе
- •12.2 Умножение чисел на дсдк при отрицательном множителе
- •13. Деление бинарных чисел
- •13.1 Метод деления бинарных чисел
- •13.1.1 Общий алгоритм деления чисел с восстановлением остатка
- •13.2 Деление чисел с фиксированной запятой с восстановлением остатка
- •14 Деление чисел с фиксированной запятой без восстановления остатка
- •14.1 Алгоритм деления без восстановления остатка
- •14.2 Деление чисел с плавающей запятой
- •15 Контрольное задание
11 Умножение двоичных чисел
11.1 Методы умножения бинарных чисел
Рассмотрим основные способы выполнения операции умножения для различных систем cчисления. Самым распространенным способом умножения чисел является способ поразрядного умножения множимого на множитель, начиная с младшего разряда - 1-й способ, начиная со старшего разряда – 2-способ.
Рассмотрим пример:
Анализ способов умножения чисел в десятичной системе счисления показывает, что операция умножения состоит из поразрядного умножения множимого на множитель с переносом переполнения в старший разряд, сдвига частных произведений на один разряд влево (вправо), суммирование частных произведений.
В двоичном счислении эта задача значительно упрощается, т.к. умножать поразрядно нет необходимости. В самом деле, если умножать множимое на "1", то это повторение множимого со сдвигом на один разряд вправо (влево), а на "0" - записываются одни нули со сдвигом.
В обоих случаях операция умножения состоит из ряда последовательных операций сдвига и сложения частных произведений. Таким образом, операция умножения сводится к сложению частных произведений, которые получаются из множимого с соответствующим сдвигом или нулей, если в разряде множителя "нуль", или множимого, если в разряде множителя 1. Рассмотрим, как производит умножение компьютер.
11.2 Умножение чисел с фиксированной запятой на дспк
Запишем машинное изображение множимого и множителя в форме с фиксированной запятой в прямом коде. Anp=SgA,α1α2...αn; Bпр=SgB,b1b2...bn. Тогда, их произведение запишется как Cnp=Sgc,с1с2...сn, где Sgc= SgASgB, где - знак сложения по mod2. (1)
Таким образом, при использовании ДСПК, знак произведения определяется отдельно от цифровой части, затем выполняется операция умножения. Она выполняется в соответствии с заданной структурой множительного устройства (см. например, рисунок 11.1).
Рисунок 11.1-Структурная схема устройства умножения
По методу 2 умножение начинается с младшего разряда и сдвигается вправо сумма частных произведений.
Пример. Умножить числа Апр = 1,11010 = - 26; Впр, = 0,11001 = 25, С= -650.
Решение: Определяется знак произведения 1 0 =1
Зададим: 1) сумматор имеет 10 разрядов (без знака).
2) регистры имеют по 5 разрядов (без знака).
Последовательность действий представим таблицей 11.1.
Для упрощения записи таблиц, принимаем следующие условные обозначения:
-оператор := присваивания значения (блоку слева присваивается значение, указанное справа от операнда);
-оператор сдвига содержимого, например, сдвиг регистра А вправо на один разряд;
-обозначения, например, [См] - содержимое сумматора;
-обозначение И. П. - исходное положение;
-обозначения Апр., Впр. - цифровая часть множимого и множителя в прямом коде.
Если при умножении возникает единица переноса из старшего разряда, то ее сохраняют путем сдвига т.е. необходимо предусматривать в цифровом автомате стробирование сигнала переполнения для выработки сдвига на один разряд.
Этот способ умножения получил наибольшее распространение в практике цифровых автоматов.
11.3 Умножение чисел с плавающей запятой
Так как числа с плавающей запятой представляются мантиссой и порядком, то выполнение операции умножения состоит из двух действий:
-перемножение мантисс;
-сложение порядков.
Результат умножения может получиться денормализованным, поэтому требуется проверка на нормализацию числа и, при необходимости, его нормализация с соответствующей коррекцией порядка результата. Устройство умножения чисел с плавающей запятой представлено автоматом со структурой рисунка 11.2.
Пример. А= – 0,11001*2–-3; В=0,10011*21
Сложение порядков производим в обратном коде, См. - 10 разрядов, Рг. - 5 разрядов. Умножение мантисс приведено в таблице 11.2. Определим значение порядка
Так как мантисса результата не удовлетворяет нормализации слева, т.е. δ=1,γ=0, то производится сдвиг мантиссы влево на один разряд mC = 1,1110110110 и коррекция порядка
В машинном виде будет соответствовать коду 11.1110110110.11.11, при условии выделения для порядка всего двух разрядов.
Примечание. Точки, разделяющие знак мантиссы, мантиссу, знак порядка, порядок в машинном коде не проставляются.