Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Деление в дополнительном (обратном) кодах со сдвигом и автоматическим восстановлением остаткаСодержание книги
Поиск на нашем сайте
[X]дк,ок; [Y]дк,ок Деление в ОК не применяется, так как "0" в ОК имеет двойное изображение. В первом такте вместо sign i-1 берётся sign X, а вместо 2 i-1 берётся [X]дк,ок Пример: [X]дк = 1.0111 [Y]дк = 1.0011 Т.к. sign X = sign Y,то+1.0111 | 1.0011 0.1101 = -[Y]дк ______ 0.0100 = 0 = [X]дк + [-[Y]дк ]дк, sign 0 sign Y, то z0 = 0 2 0 = +0.1000 Т.к. sign 0 sign Y, то 1.0011 = [Y]дк ______ 1.1011 = 1 = 2 0 + [Y]дк, т.к. sign 1 = sign Y, то z1 = 1 2 1 = +1.0110 Т.к. sign 1 = sign Y, то 0.1101 = +[-[Y]дк ]дк ______ 0.0011 = 2 = 2 1 + [-[Y]дк ]дк, т.к. sign 2 sign Y, то z2 =0 2 2 = +0.0110 Т.к. sign 2 sign Y, то 1.0011 = [Y]дк ______ 1.1001 = 3 = 2 3 + [Y]дк, т.к. sign 3 = sign y, то z3 = 1 2 3 = +1.0010 Т.к. sign 3 = signY, то 0.1101 = +[-[Y]дк ]дк ______ 1.1111 = 4 = 2 3 + [-[Y]дк ]дк, т.к. sign 4 = sign Y, то z4 = 1 Ответ: [Z]дк = 0.1011 Это справедливо при 1 [Z]дк = [X]дк / [Y]дк ]| < 1. Если необходимо определить частное |[Z]дк = [X]дк / [Y]дк | | < 2, то поступают так: [X]дк*2-1 / [Y]дк = z0z1z2...zn, z0 – знак, z1 – целая часть числа.
Сложение и вычитание Обе операции выполняются по сходным алгоритмам. X = 2mx * sign X.x1x2...xnY = 2my * sign Y.y1y2...ynZ = X ± Y = 2max(mx,my).sign Z.z1z2...znОперация выполняется следующим образом:
Пример: порядок мантисса[mx]пк = 0.11 [Mx]пк = 0.1010[my]пк = 0.10 [My]пк = 0.1110Находим разность порядков: +00.11 = [mx]мок 11.01 = [-my]мок 1| 00.00 |_ _ 1 00.01 = [Δ]мок - разность порядковТак как m x > my, то: +00.1010 = [Mx]мок 00.0111 = [My]мок * 2-1[Z]мок = 01.0001 – переполнение 2-1 * [Z]мок = 00.1000 – нормализация max(mx,my) = [mx]мок = +00.11 [1]мок = 00.01 [mx]мок = 01.00 – переполнение порядкаZ = ∞При выполнении операции сложения возможны следующие специфические случаи, называемые блокировками: а) При определении разности порядков может оказаться, что необходимо мантиссу одного из чисел сдвигать на величину, большую, чем число разрядов в разрядной сетке. В этом случае, естественно, такое число может быть воспринято как нуль, а операция дальнейшего сложения может блокироваться, то есть не выполняться. В качестве результата берётся максимальное число. Пример: [mx]ок = 0.101 [Mx]ок = 0.10111101[my]ок = 1.001 [My]ок = 0.10000001Разность порядков: +00.101 = [mx]мок 00.110 = [-my]мок[Δ]мок = 01.011 – то есть это число 11 10, а в разрядной сетке мантиссы только 8 разрядов. Поэтому операция блокируется, а результатом является число: [mx] = 0.101 [Mx] = 0.10111101Аналогичный случай может быть, когда разность порядков – отрицательна (отрицательное переполнение). В этом случае операция также блокируется, а результатом будет число с максимальным порядком. Пример: [mx]ок = 1.010 [Mx]ок = 1.10101011[my]ок = 0.110 [My]ок = 1.11111111Разность порядков: + 11.010 = [mx]мок 11.001 = [-my]мок _______+1| 10.011 1 _______ 10.100 = [Δ]мокТо есть разность порядков меньше (-8). Операция блокируется, а результатом будет число: [my]ок = 0.110 [My]ок = 1.11111111
|
|||||||
Последнее изменение этой страницы: 2016-08-15; просмотров: 669; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.15.218.44 (0.009 с.) |