Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОТВЕТЫ 51 - 80.docx
Скачиваний:
133
Добавлен:
30.03.2015
Размер:
2.18 Mб
Скачать

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

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

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

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

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

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

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

Пример.

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

Делимое

Делитель .

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

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

.

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

+

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

+

+

+

.

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

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

.

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

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

Пример.

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

Делимое

Делитель

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

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

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

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

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

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

+

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

+

+

+

+

+

+

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

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

.

Десятичные числа:

      1. Деление десятичных чисел в ЭВМ

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

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

Если делимое не делится нацело, то для целей округления можно определить дополнительную цифру частного.

Пример.

Вычислить десятичное частное припо методу с восстановлением остатка.

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

Сумматор Частное

Делимое 0 5 6

доп. = 920 + 9 2 0

Восстановление 9 7 0 0 (остаток меньше 0)

остатка пр. = 080 + 0 8 0

0 5 6

1

Сдвиг делителя 9 9 2

доп. = 992 0 4 8 01 (остаток больше 0)

+ 9 9 2

0 4 0 02 (остаток больше 0)

+ 9 9 2

0 3 2 03 (остаток больше 0)

+ 9 9 2

0 2 4 04 (остаток больше 0)

+ 9 9 2

0 1 6 05 (остаток больше 0)

+ 9 9 2

0 0 8 06 (остаток больше 0)

+ 9 9 2

0 0 0 07 (остаток равен 0)

Таким образом, Z=X :Y= 7.

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