Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы компьютерной арифметики и логики.doc
Скачиваний:
79
Добавлен:
10.11.2019
Размер:
6.48 Mб
Скачать

2.8. Деление двоичных чисел с плавающей запятой

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

1. Определяется знак частного путем сложения по модулю два знаков делимого и делителя.

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

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

4. Нормализуется результат деления мантисс делимого и делителя, если произошло переполнение разрядной сетки или денормализация.

5. При переполнении или денормализации мантиссы частного производится соответственно увеличение или уменьшение, вычисленного по п.2, порядка частного.

Пример.

Разделить в двоичной системе с плавающей запятой.

Делимое

Делитель .

(Под модуль мантиссы отведено четыре, а под модуль порядка три разряда). Требуется найти , т.е найти .

Первый шаг. Определение знака частного:

.

Второй шаг. Определение порядка частного путем вычитания порядка делителя из порядка делимого с учетом их знаков в дополнительном модифицированном коде:

+

Третий шаг. Определение модуля мантиссы частного (операция выполняется в модифицированном дополнительном коде):

+

+

+

.

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

Четвертый шаг. Нормализация мантиссы частного путем сдвига ее на один разряд вправо:

.

Пятый шаг. Увеличение предварительно полученного порядка частного на единицу в модифицированном дополнительном коде:

Операция деления двух двоичных чисел с плавающей запятой завершена.

Пример.

Разделить в двоичной системе с плавающей запятой, отведя под мантиссу шесть, а под порядок три разряда.

Делимое

Делитель

Требуется найти , т.е. найти .

После нормализации операндов имеем:

Первый шаг. Определение знака частного:

Второй шаг. Определение порядка частного путем вычитания порядка делителя из порядка делимого с учетом их знаков в дополнительном модифицированном коде:

Третий шаг. Определение модуля мантиссы частного (операция выполняется в модифицированном дополнительном коде). При этом, чтобы получить шесть верных разрядов мантиссы частного, увеличим длину разрядной сетки, отводимую для выполнения операции деления мантисс, до восьми разрядов:

+

11,11000000 < 0; (Это означает, что модуль мантиссы делимого

00,01100000 меньше модуля мантиссы делителя)

+

+

+

+

+

+

На этом процесс деления модулей мантисс заканчиваем, т.к. поставленное выше условие выполнено – получено шесть верных разрядов модуля мантиссы частного .

В связи с тем, что переполнение разрядной сетки и денормализация мантиссы частного отсутствуют, получаем окончательный результат деления в следующем виде:

.