Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Умножение чисел в Д-кодах

Выполнение операций сложения и вычитания в Д-кодах

Представление отрицательных чисел в Д-кодах

 

Представление Д-кода в разрядной сетке машины может осуществляться в форме либо с фиксированной, либо с плавающей запятой. При этом отрицательные числа могут представляться в прямом, обратном или дополнительном коде.

Для рассматриваемого кода Д1 с комбинацией 8421 нельзя получить обратный или дополнительный код простым инвертированием, т.к. инвертирование набора тетрад означает получение дополнения до 24- 1 = 15. Следовательно, необходимо убрать разницу. Один из используемых при этом приемов состоит в том, что во все цифровые тетрады числа в коде Д1добавляется 0110 и после этого производится инвертирование набора. Полученное изображение представляет собой обратный код числа. А дополнительный код получается, как обычно, добавлением 1 к младшему разряду младшей тетрады. Рассмотрим примеры:

 

1) представить число A = -25610 = 0. 0010 0101 01102 в обратном коде для кода Д1:

1. 0010 0101 0110

+ 0110 0110 0110 во все тетрады добавили 0110

1000 1011 1100 после инвертирования имеем

Aоб = 1. 0111 0100 0011

2) представить число A = -39810 в дополнительном коде для кода Д1:

1. 0011 1001 1000

+ 0110 0110 0110 добавляем 0110

1. 1001 1111 1110 инвертируем

0110 0000 0001

+1

AД = 1.0110 0000 0010

 

 

Операции сложения и вычитания в Д-кодах выполняются над операндами по формальным правилам десятичной арифметики, описанным ранее:

1. При сложении двух положительных чисел перевод в дополнительный код исключается. В случае появления потетрадного переноса или результата больше 9 производится коррекция результата прибавлением 6.

2. Сложение отрицательных чисел выполняется аналогично сложению положительных с той лишь разницей, что результату присваивается отрицательный знак.

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

Рассмотрим пример когда одно число отрицательное, а другое положительное:

1) Сложить два числа в коде Д1 A = -1000 0010 0101, B = 1001 0100 0110.

[A]l = 1. 0001 0111 0101

[B] = 0. 1001 0100 0110

1. 1010 1011 1011

+ 0110 0110 0110 поправки

[C] = 0. 0001 0010 0001

 

 

Выполнение операций умножения в Д-кодах принципиально производится по классической схеме. Умножение чисел сводится к последовательному суммированию частных произведений, полученных при умножении множимого на очередную цифру множителя. Так как каждая цифра множителя представляется тетрадой, то умножение сопровождается расшифровкой значения очередной тетрады множителя и сдвигом на 4 разряда сразу. Расшифровку можно осуществить разными способами. Простейшим примером является последовательное вычитание 1 из значения тетрады до получения 0 и соответственно прибавление множимого. Надо учитывать обязательно промежуточные переполнения.

Рассмотрим пример умножения двух чисел, представленных в коде Д1:

умножим X = 2510 = 0010 0101 на Y = 1210 = 0001 0010, частные произведения формируем в P. Анализ тетрад Y начинаем с младшей.

 

0010 0101 x 0001 0010 = 0011 0000 0000 = 30010

P 0000 0000 0000

+ X 0010 0101 0010 - 0001 = 0001 > 0, значит надо еще раз X + P

P 0000 0010 0101

+ X 0010 0101 0010 - 0001 = 0, конец анализа младшей тетрады.

P 0000 0100 1010

+ 0110 поправка

P 0000 0101 0000 сдвигаем X на 4 разряда влево и складываем с P, анализируя старшую тетраду Y.

 

P 0000 0101 0000

+ X 0010 0101 0000 0001 - 0001 = 0

P 0010 1010 0000

+ 0110 поправка

P 0011 0000 00002 = 30010 ответ.

 

<== предыдущая лекция | следующая лекция ==>
Формальные правила поразрядного сложения в Д-кодах | Перевод чисел из Д-кода в двоичный и из двоичного в Д-код
Поделиться с друзьями:


Дата добавления: 2014-01-06; Просмотров: 1271; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




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