Деление двоичных чисел с плавающей запятой
Деление чисел, представленных в двоичной форме с плавающей запятой, выполняется за четыре шага, при этом условие теряет смысл и его проверка не делается.
1. Определяется знак частного путем сложения по модулю два знаков делимого и делителя.
2. Определяется порядок частного путем вычитания порядка делителя из порядка делимого с учетом их знаков по правилам, аналогичным для вычитания чисел с фиксированной запятой.
3. Определяется мантисса частного путем деления модуля мантиссы делимого на модуль мантиссы делителя по правилам, изложенным выше, для деления чисел с фиксированной запятой.
4. Нормализуется результат деления мантисс делимого и делителя, если произошло переполнение разрядной сетки или денормализация.
5. При переполнении или денормализации мантиссы частного производится соответственно увеличение или уменьшение, вычисленного по п.2, порядка частного.
Пример.
Разделить в двоичной системе с плавающей запятой.
Делимое
Делитель .
(Под модуль мантиссы отведено четыре, а под модуль порядка три разряда). Требуется найти , т.е найти .
Первый шаг.Определение знака частного:
.
Второй шаг.Определение порядка частного путем вычитания порядка делителя из порядка делимого с учетом их знаков в дополнительном модифицированном коде:
|
Третий шаг.Определение модуля мантиссы частного (операция выполняется в модифицированном дополнительном коде):
|
|
|
.
Произошло переполнение разрядной сетки и требуется нормализация вправо мантиссы частного, т.е. сдвиг мантиссы на один разряд вправо и увеличение порядка на единицу.
Четвертый шаг.Нормализация мантиссы частного путем сдвига ее на один разряд вправо:
.
Пятый шаг.Увеличение предварительно полученного порядка частного на единицу в модифицированном дополнительном коде:
Операция деления двух двоичных чисел с плавающей запятой завершена.
Пример.
Разделить в двоичной системе с плавающей запятой, отведя под мантиссу шесть, а под порядок три разряда.
Делимое
Делитель
Требуется найти , т.е. найти .
После нормализации операндов имеем:
Первый шаг.Определение знака частного:
Второй шаг.Определение порядка частного путем вычитания порядка делителя из порядка делимого с учетом их знаков в дополнительном модифицированном коде:
Третий шаг.Определение модуля мантиссы частного (операция выполняется в модифицированном дополнительном коде). При этом, чтобы получить шесть верных разрядов мантиссы частного, увеличим длину разрядной сетки, отводимую для выполнения операции деления мантисс, до восьми разрядов:
|
00,01100000 меньше модуля мантиссы делителя)
|
|
|
|
|
|
На этом процесс деления модулей мантисс заканчиваем, т.к. поставленное выше условие выполнено – получено шесть верных разрядов модуля мантиссы частного .
В связи с тем, что переполнение разрядной сетки и денормализация мантиссы частного отсутствуют, получаем окончательный результат деления в следующем виде:
.