Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Умножение со старших разрядов в дополнительном коде




Умножение с младших разрядов в дополнительном коде

Алгоритм:

[Z]дк = (...(0+[X]дк*[yn+1 – yn])*2-1 + [X]дк*[yn – yn-1])*2-1 +...... + [X]дк*[y2 – y1])*2-1 + [X]дк*[y1 – y0]

Если yn = yn+ 1, то производится сдвиг частичного произведения.

Если yn = 0 и yn+1 = 1, то к частичному произведению прибавляется [X]дк

Если yn = 1 и yn+1 = 0, то из частичного произведения вычитается [X]дк.

Пример:

[Z]дк = [X]дк*[Y]дк = [X]дк*(y1 – y0) + [X]дк*(y2 – y1)*2-1 +... + + [X]дк*(yn+1 – yn)*2-n

[-X]дк = 1.01011 [Z]дк = [-X]дк + [X]*2-1 + [X]дк*2-2*0 + [-X]дк*2-3 + + [X]дк*2-4 + [-X]дк*2-5 +1.01011 [-X]дк 0.010101 [X]дк*2-1 ________ +1.101011 1.11101011 [-X]дк*2-3 __________ +1.10010111 0.000010101 [X]дк*2-4 ___________ +1.101000011 1.1111101011 [-X]дк*2-5 ____________ 1.1001110001 Ответ: [Z]дк = 1.1001110001
9. Лекция: Деление
Страницы: 1 | 2 | 3 | 4 | вопросы |» | учебники | для печати и PDA | ZIP
Если Вы заметили ошибку - сообщите нам, или выделите ее и нажмите Ctrl+Enter
В лекции даны методы деления чисел с фиксированной запятой в прямых кодах и дополнительных (обратных) кодах. Описаны операции над числами с плавающей запятой – умножение, деление, сложение, вычитание.
Реализация операции деления в ЭВМ в двоичной системе счисления выполняется проще, чем в десятичной. Это объясняется тем, что при определении каждой цифры частного нужно сделать только одну пробу. Если числа X и Y заданы в прямом коде, и они представлены с фиксированной запятой, то для выполнения деления используются два основных алгоритма:
  • со сдвигом и автоматическим восстановлением остатка;
  • со сдвигом делителя и автоматическим восстановлением остатка.
Пусть: [X]пк = sign X. x1x2..xn [Y]пк = sign Y. y1y2..yn [Z]пк = [X]пк/[Y]пк = sign Z. z1z2..zn X и Y должны быть такими, чтобы: |Z| < 1 (то есть фиксированная запятая) Деление в прямом коде со сдвигом и автоматическим восстановлением остатка
  1. sign Z = sign X sign Y
  2. |X| - |Y| = 0
3. Если 0 0, то z0 = 1 и 20 - |Y| = 1 (z0 – целая часть результата). Если 0 < 0, то z0 = 0 и 20 + |Y| = 1 и т. д. Пример: [X]пк = 0.100[Y]пк = 1.110 sign Z = 1 0 = 1[-|Y|]дк = 1.010 +0.100 = [|X|]дк 1.010 = [-|Y|]дк 1.110 = 0 = [|X|]дк + [-|Y|]дк < 0, z0 = 0 +1.100 = 20 (сдвиг в ДК отрицательного числа) 0.110 = [|Y|]дк 0.010 = 1 = 20 + [|Y|]дк > 0, z1 = 1 +0.100 = 21 1.010 = [-|Y|]дк 1.110 = 2 = 21 + [-|Y|]дк < 0, z2 = 0 +1.100 = 22 (сдвиг в ДК отрицательного числа) 0.110 = [|Y|]дк 0.010 = 3 = 22 + [|Y|]дк > 0, z3 = 1 Ответ: [Z]пк = 1.101 Деление в прямом коде со сдвигом делителя и автоматическим восстановлением остатка
  • sign Z = sign X sign Y
  • |X| - |Y| = 0
· Если 0 0, то z0 = 1. Если0 < 0, то z0 = 0. Разрядная сетка (n + d) разрядов, где d = log2n Пример: 1) [X]пк = 1.10012) [Y]пк = 1.1011n = 4, d = 2 Ответ: [Z]пк = 0.1100

 

Пример:

[X]пк = 0.100[Y]пк = 1.110sign Z = 0 1 = 1[-|Y|]мдк= 11.010|Y| = 00.110

Ответ: [Z]пк = 1.101




Поделиться с друзьями:


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


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



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




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