Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OKT.doc
Скачиваний:
8
Добавлен:
16.04.2019
Размер:
5 Mб
Скачать

2.5.1.3 Операция деления.

С точки зрения формирования частного представления чисел с плавающей точкой поиск частного С3 =А/В сводится к поиску С3п и С3м, соответственно порядку и мантиссы частного на основании порядка ап и мантиссы ам делимого и порядка вп и мантиссы вм делителя. Учитывая общую запись чисел с плавающей точкой, произведение двух операндов представляется в виде

С2 = А/В = 2 а п * а м /(2 в п * вм) = 2 ап-вп *(а м / вм) = 2 сп м,

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

При формировании мантиссы частного нормализованных чисел с плавающей точкой возможно только один вид нарушения нормализации - нарушение нормализации слева от точки.

Пример

Найти частное С3 от деления чисел А на В, представленных с плавающей точкой, если А и В представлены в виде порядков, соответственно [ап]пк и [вп]пк и мантисс, соответственно [ам]пк и [вм]пк,

где [ап]пк = 1.010, [а м] пк = 1.1010,

п]пк = 0.001, м]пк= 0.1001.

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

Решение

Знак искомого произведения, представляемого знаком его мантиссы, отрицательный, так как знаки мантисс сомножителей не одинаковые.

Предварительное значение порядка [С3 п*]ок частного определяется следующим образом:

С3п`=а п - в п :

11.101 [а п]мок

+ 11.110 п] мок

111.011

+ 1

11.011 [С3 п`] мок, т.е. [С3п`] пк = 1.011.

Абсолютное значение предварительного значения мантиссы частного ищется за счет выполнения шести тактов деления следующим образом:

00.1010 -[а м ]ок ,

+ 11.0110 - [-в м]ок ,

100.0000

+1 - учет переноса (переполнения знакового поля) при сложении . в обратном коде, . .

00.0001 - положительный остаток первого такта,

00.0010 - сдвинутый остаток,

+ 11.0110 - [-в м]мок ,

11.1000 - отрицательный остаток второго такта,

11.0001 - остаток после арифметического сдвига влево,

+ 0 0.1001 - [в м]мок ,

11.1010 - отрицательный остаток третьего такта,

11.0101 - остаток после арифметического сдвига влево,

+ 0 0.1001 - [в м]мок ,

11.1110 - отрицательный остаток четвертого такта,

11.1101 - остаток после арифметического сдвига влево,

+ 0 0.1001 - [в м]мок ,

100.0110

+ 1

00.0111 - положительный остаток пятого такта

00.1110 - остаток после арифметического сдвига влево,

+ 11.0110 - [-в м]мок ,

100.0100

+ 1

00.0101 - положительный остаток шестого такта,

00.1010 - остаток после арифметического сдвига влево,

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

[С3м`]п= 1. 00011,

с учетом округления:

[С3м`]п = 1. 0010.

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

[С3 м]п = 0.1001,

[С3п]п = 0.000.

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