Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб_ПТЦА_3.doc
Скачиваний:
8
Добавлен:
09.11.2019
Размер:
2.13 Mб
Скачать

3.4.2 Деление чисел с фиксированной запятой без восстановления остатка

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

-определить знак частного по формуле 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. .

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

Таблица 3.4 Деление чисел без востановления

Апр.= 00.1000001,0 РгС

вмдоп= +11.0011 Знак 11 11.1011 0 L сдвиг 11.0110 +00.1101

00.0011 1 L сдвиг 00.0110 +11.0011 11.1001 0 L сдвиг 11.0011

+00.1101 00.0000 1,0

Машинный ноль. Конец целой части.

Конец. Ответ: Спр.= 11.101.0= -5

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]