Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ответы by Рузилька.doc
Скачиваний:
20
Добавлен:
04.09.2019
Размер:
690.18 Кб
Скачать

13.Деление чисел в форме с фикс. Точкой методом «с неподвижным делителем без восстановления остатка».

Выполнение операции деления предполагает определение знака и абсолютное значение частного. Определение знака частного производится аналогично определению знака при операции умножения, т.е. знаковые разряды делимого и делителя суммируются по модулю 2. определение абсолютного значения частного сводится к последовательным вычитанием делителя с начала из делителя, а затем из образующихся в процессе вычитания сдвигаемых остатков. Последовательно вычитание делителя заменяется последовательным сложением в дополнительном коде. Формирование частного производится начиная со старшего разряда, причем если разность между делимым (или очередным остатком) и делителем положительна или равна 0, то в соответствующий разряд частного заносится 1, а если отрицательна, то 0.

Обычно в вычислительных устройствах для определения модуля частного используется метод, получивший название с неподвижным делителем без восстановления остатка.

Алгоритм деления по данному методу можно представить в виде следующей последовательности:

1. Из предварительно сдвинутого влево на один разряд делимого вычитается делитель (сложение в дополнительном коде).

2. Если полученный остаток положительный, то цифре частного присваивается значение 1, а если отрицательный, то 0.

3. Если получившийся остаток положительный, то после его сдвига на один разряд влево к нему прибавляется делитель в дополнительном коде, а если остаток отрицательный, то после его сдвига влево к нему прибавляется делитель в прямом коде.

4. Действия повторяются с пункта 2.

Указанные действия повторяются до тех пор, пока не будут сформированы значения всех последующих разрядов частного, обеспечивающих точность результата.

При выполнении операции деления, делимое обычно представляется с удвоенным количеством разрядов по сравнению с делителем и частным.

Рассмотрим пример деления целых чисел:

Х= 1110= +10112

У= 510= +1012

Представим модуль делителя как положительное число в прямом и как отрицательное число в дополнительном кодах, а модуль делимого в прямом коде с удвоенным количеством разрядов по отношению к делителю:

(|У|)пр=0101

(-|У|)доп=1011

(|Х|)пр=00001011

Операцию деления указанных чисел можно представить в виде:

Делимое

Частное

(|X|)пр

+

(-|У|)доп

00001011

0001011

1011

Исходное состояние

Сдвиг влево

+

(|У|)пр

1100011

100011

0101

Остаток отрицательный

Сдвиг влево

0

+

(|У|)пр

110111

10111

0101

Остаток отрицательный

Сдвиг влево

00

+

(-|У|)доп

00001

0001

1011

Остаток положительный

Сдвиг влево

001

1100

Последний остаток

0010(Модуль частного в прямом коде)

В данном примере за четыре цикла операции деления получено целая часть частного и отрицательный остаток. Чтобы получить положительный остаток необходима его коррекция, т.е. к отрицательному остатку прибавляется прямой код делителя:

Остаток < 0 1100

(|У|)пр +0101

0001 → +0012 = 110

остаток в прямом коде

Аналогичным образом можно выполнить и деление правильных дробей, представленных в форме с фиксированной точкой. Отличие состоит только в представлении модуля делимого, дополнительные разряды в котором добавляются справа от значащих цифр.