русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Схемы умножения целых чисел в прямом коде


Дата добавления: 2014-11-27; просмотров: 6618; Нарушение авторских прав


Умножение в прямом коде – это умножение абсолютных значений сомножителей и вычисление знака произведения. Произведению присваивается знак плюс, если знаки сомножителей совпадают, и минус, если знаки не совпадают.

Произведение чисел без знака А и Вможно записать в виде:

А´В=А´(bn 2n + bn–1 2n-1 + …+ b1 2 + b0), где b – двоичная цифра числа В.

Умножение числа А на 2n равносильно сдвигу числа А вправо на n разрядов. Таким образом, умножение в двоичной системе сводится к последовательности сдвигов множителя и сложению его с частичным произведением, при единичном значении соответствующей разрядной цифры множителя. Начальное значение частичного произведения устанавливается нулевым, после выполнения всех сложений оно равно произведению А на В. Сдвиг множителя производится относительно частичного произведения. Здесь возможны четыре варианта схем умножения:

· умножение с младших разрядов множителя и сдвиг частичных произведений вправо (вариант схема а на рис. 5.2.),

· умножение с младших разрядов множителя и сдвиг множимого влево (вариант схема b на рис. 5.2.),

· умножение со старших разрядов множителя и сдвиг частичных произведений влево (вариант схема c на рис. 5.2.),

· умножение со старших разрядов множителя и сдвиг множимого вправо (вариант схема d на рис. 5.2.).

При умножении n-разрядных чисел результат формируется 2n-разрядный.

Умножение по схеме a использует три n-разрядных регистра. При этом сдвигаемые вправо разряды суммы частичных произведений принимаются в освобождаемые разряды множителя. Эта схема требует минимального оборудования и часто используется в ЭВМ.

Схема b не имеет никаких преимуществ по сравнению с а и практически не используется.

Рис. 5.2. Схемы выполнения умножения

Схема с использует сумматор и регистр суммы частичных произведений двойной разрядности и по оборудованию уступает схеме а. Но она позволяет выполнять и операцию деления без использования дополнительных цепей сдвига. Поэтому она имеет свою практическую ценность.



Схема d использует сумматор и два регистра удвоенной разрядности, но она, как и схема d, позволяет выполнять и операцию деления без использования дополнительных цепей сдвига. Кроме этого, при умножении дробных чисел обычно производится округление результата. В этом случае, младшие разряды сумматора, регистра частичных произведений и множимого можно сократить до n +1 разряда. Поэтому эта схема также имеет свою практическую ценность.

Если ориентироваться на использование только специализированных устройств умножения, то схема по варианту "а" а является наиболее предпочтительной.

Пример. Умножение целых чисел в прямом коде по схеме а (умножение с младших разрядов множителя со сдвигом частных произведений вправо).

А = 7(10) =SignA ½111(2)½ – множимое.

В = 5(10) =SignВ ½101(2)½ – множитель.

С – произведение.

При умножении числа А и В рассматриваются как числа без знаков. Знак произведения определяется отдельно. Знак произведения будет положительным, если знаки сомножителей совпадают. Положительное значение произведения определяется по совпадению знаков сомножителей. При умножении n-разрядных чисел разрядность результата не превышает 2n, но возможен перенос из старшего разряда сумматора при вычислении сумм частичных произведений. Для его сохранения регистр суммы сумм частичных произведений должен иметь дополнительный разряд.

В примере разряды суммы частичных произведений отделены от дополнительного разряда пробелом, а от разрядов множителя – вертикальной чертой.

 

Множимое А (3 бита) Произведение С (4 бита) Множитель В (3 бита) Комментарии
0 000 ½101 Исходное состояние.
0 000 0 111 0 111 ½101 Анализ младшего бита множителя (1) и прибавление множимого к сумме частичных произведений
0 011 1½10 Сквозной сдвиг суммы частичных произведений и множителя вправо на один разряд.
0 011 0 000 0 011 1½10 Анализ младшего бита множителя (0) и блокировка прибавления множимого к сумме частичных произведений.
0 001 11½1 Сквозной сдвиг суммы частичных произведений и множителя вправо на один разряд.
0 001 0 111 1 000 11½1 Анализ младшего бита множителя (1) и прибавление множимого к сумме частичных произведений
0 100 011½ Сквозной сдвиг суммы частичных произведений и множителя вправо на один разряд.

 

Результат С =0,100011(2) = 35(10).

Блок схема алгоритма выполнения умножения целых чисел в прямом коде по схеме а (умножение с младших разрядов множителя со сдвигом частных произведений вправо) представлена на рис. 5.3.

Рис. 5.3. Блок схема алгоритма выполнения умножения целых чисел в прямом коде по схеме а (умножение с младших разрядов множителя со сдвигом частных произведений вправо).



<== предыдущая лекция | следующая лекция ==>
Алгебраическое сложение/вычитание чисел в прямом коде | Схемы умножения дробных чисел в прямом коде


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.004 сек.