русс | укр

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

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

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

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


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

Суммирование чисел со знаками


Дата добавления: 2015-08-31; просмотров: 1381; Нарушение авторских прав


Суммирование чисел со знаками производят с использованием обратных или дополнительных кодов. Рассмотрим вариант построения сумматора двух четырехразрядных чисел и B(4). Знак числа принято указывать в старшем бите (требуется дополнительный пятый разряд). Положительное число в пятом разряде кодируется 0, отрицательное число 1. Мы выберем модифицированные коды, когда под знак отдаются два старших разряда:

A6 A5 = 00 – число положительное, A6 A5 = 11 – число отрицательное.

Пример. Заданы числа A10 = 910 и B10 = 1210, необходимо просуммировать их со знаками = (+A + B), S2 = (+AB), S3 = (– A + B), S4 = (–AB). Прямой код положительного числа Aпр = 00 10012, обратный код отрицательного числа Aобр = 11 10012,аналогично для числа B: Bпр = 00 11002, Bобр = 11 00112,

Возможные варианты результатов суммирования Таблица 4.13

S1 = (+ A + B) S2 = (+ AB) S3 = (– A + B) S4 = (– AB)
Aпр 00 1001 Aпр 00 1001 Aобр 11 0110 Aобр 11 0110
Bпр 00 1100 Bобр 11 0011 Bпр 00 1100 Bобр 11 0011
S1 01 0101 S2 11 1100 S3 1 00 0010 00 0011 S4 1 10 1001 10 1001  
Инверсия   11 0011   11 1010
Ответ + 2110 – 310 + 310 – 2110

Примечание Стрелкой обозначен циклический перенос

Проанализируем полученные результаты.

1. При суммировании чисел с одинаковыми знаками (S1, S4) возможно переполнение разрядной сетки. Если бы под знак оставляли один разряд, то в первом случае (S1) при суммировании положительных чисел получили бы отрицательное число 1 01012 (–510). Во втором случае при суммировании отрицательных чисел получили бы +510.

2. При переполнении разрядной сетки единицу переполнения необходимо циклически прибавить к младшему разряду суммы (S3, S4)



Эти особенности будут учтены при разработке сумматора чисел со знаками.

В связи с тем, что отрицательные числа необходимо инвертировать, воспользуемся замечательным свойством логического элемента «неравнозначность» (XOR) инвертировать аргумент A в зависимости от уровня (низкий – высокий) аргумента B. В таблице истинности «исключающее ИЛИ» (неравнозначность) показано, что при b = 0 сигнал a проходит на выход не меняясь, при b = 1 сигнал a инвертируется. Это говорит о том, что данный логический элемент можно применить для преобразования кода числа в обратный код. Предлагаемый вариант функциональной схемы сумматора двоичных чисел со знаками приведен на рис. 4.57.


Числа A и B подаются на входы сумматора через ЛЭ «неравнозначность», на второй управляющий вход которого подается сигнал знака (0,1). Выходные сигналы суммы передаются на выход также через ЛЭ «неравнозначность», знак выходного сигнала снимается со старшего разряда (S5). Выход переполнения разрядной сетки P5 соединен со входом P0 младшего разряда для выполнения функции циклического переноса.



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


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


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

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

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


 


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

 
 

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

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