Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






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





[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 и 2 0 - |Y| = 1 (z0 – целая часть результата). Если 0 < 0, то z0 = 0 и 2 0 + |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 = 2 0 (сдвиг в ДК отрицательного числа) 0.110 = [|Y|]дк 0.010 = 1 = 2 0 + [|Y|]дк > 0, z1 = 1 +0.100 = 2 1 1.010 = [-|Y|]дк 1.110 = 2 = 2 1 + [-|Y|]дк < 0, z2 = 0 +1.100 = 2 2 (сдвиг в ДК отрицательного числа) 0.110 = [|Y|]дк 0.010 = 3 = 2 2 + [|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







Date: 2016-05-14; view: 602; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию