Главная
Случайная страница
Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 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 (то есть фиксированная запятая)
Деление в прямом коде со сдвигом и автоматическим восстановлением остатка
- sign Z = sign X sign Y
- |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; Нарушение авторских прав Понравилась страница? Лайкни для друзей: |
|
|