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

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

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

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

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

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

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

 

Пример.

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

Делимое

Делитель .

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

 

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

.

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

+

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

+

+

+

.

 

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

 

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

.

Пятый шаг.Увеg src="images/image-941-122.gif">

 

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

 

 

Пример.

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

Делимое

Делитель

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

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

 

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

 

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

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

 

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

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

+
+
+
+
+
+

 

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

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

 

 

.

 



href="page-9-ref-20562.php">18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • Далее ⇒