русс | укр

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

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

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

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


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

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


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


Схема умножение чисел в дополнительном коде отличается от умножения в прямом коде тем, что:

· при умножении используются знаковые разряды сомножителей, причем как имеющие отрицательный вес,

· в схемах, использующих сдвиг вправо множимого (схема d) или суммы частичных произведений (схема а), знак должен сдвигаться и дублироваться в знаковом разряде,

· в схеме с знаковый разряд должен распространяться на все старшие разряды сумматора,

· при умножении на знаковый разряд, если он равен единице (имеет отрицательный вес), множимое не прибавляется к сумме частичных произведений, а вычитается (прибавляется с изменением знака). Для этого все разряды множимого, включая знаковый, инвертируются и к младшему разряду прибавляется единица.

Примеры умножения целых чисел в дополнительном коде по схеме а

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

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

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

А =–7(10) = 11,001(2) – множимое.

В = +5(10) = 0,101(2) – множитель

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

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

 



Результат С = 11,011101(2) = – 35(10).

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

А =–7(10) = 00,111 – множимое.

В = –5(10) = 1,011 – множитель

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

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

 

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

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



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


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


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

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

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


 


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

 
 

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

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