Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Метод_Практика_Основи-програм-інженерії_(1+3кур...doc
Скачиваний:
7
Добавлен:
07.05.2019
Размер:
7 Mб
Скачать

6.1.1.1 Ділення чисел без відновленням залишку

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

-определить знак частного по формуле SgC= SgASgB;;

-представить числа (операнды) в дополнительном коде в машинном изображении, делимое (всегда), независимо от его знака, берется в прямом коде с положительным знаком, а делитель (всегда), независимо от его знака, берется в дополнительном коде с отрицательным знаком;

-присвоить сумматору значение См:=Амдоп , РгВ := Bмдoп; РгС:=0;

-устраняем дробную часть в делителе, перенося запятую вправо на n разрядов (по аналогии с десятичной системой счисления) и, чтобы дробь не изменилась, в делимом также переносим вправо запятую на n разрядов;

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

1) если знак промежуточного остатка 00 (положительный), то в регистр частного РгС записывается 1, начиная со старшего разряда. Остаток сдвигается на один разряд влево (знаковую точку перенести вправо на один разряд), сносится последующий разряд делимого не участвующий до этого в делении. После этого, промежуточный остаток подготовлен к последующему прибавлению делимого в дополнительном коде;

2) если знак промежуточного остатка 11 (отрицательный), то в регистр частного Рг.С записывается 0, начиная со старшего разряда. Остаток сдвигается на один разряд влево (знаковую точку перенести вправо на один разряд), сносится последующий разряд делимого не участвующий до этого в делении. После этого, промежуточный остаток подготовлен к последующему прибавлению к нему делимого в прямом коде со знаком 00;

-действия предыдущего пункта повторяются до получения машинного нуля или заданной точности вычисления (количество разрядов дроби после запятой целой части числа). Запятая дроби устанавливается в частном после сноса последнего разряда целой части делимого.

- знак результату присваивается в соВідповідьствии с пунктом 1. Результат деления представлен в регистре частного в прямом коде.

ПРИКЛАД. Разделить на сумматоре дополнительного кода числа:

А= 16,25; В= –3,25.

РЕШЕНИЕ: -определяем знак частного 0  1 =1. В старшие разряды регистра частного заносим значение отрицательного знака - 11;

-устанавливаем регистры РгА, РгВ і См в нулевое (исходное) состояние, очистив их от предыдущей информации;

-Перетворимо десятичные числа в бинарные, прямые і дополнительные коды.

Апр.=00.10000,01; Впр.=11.11,01; Впр.вос.=00.11,01; Вмдоп.= 11.00,11

Для вычитания используем Вмдоп.= 11.00,11.

Для восстановления отрицательного остатка берем Впр.вос.=00.11,01. .

Решение приведено в таблице 14.1.

6.1.2 Ділення чисел з плаваючою крапкою

При делении чисел представленных в формате с плавающей запятой, Ділення выполняют над мантиссой mс = ma /mB, а порядки вычитаются Рс = Ра - РB.

Ділення мантисс производится в таком же порядке, как і в формате с фиксированной запятой. При этом, используются методы с восстановлением остатка і без восстановления остатка. Результату присваивается порядок Рс.

!!! Зразки виконання ділення чисел з фіксованою крапкою в доповнювальному коді знаходиться у додатку Ж.