Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


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




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

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

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

 

Пример.

 

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

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

 

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

Делимое 0 5 6

доп. = 920 + 9 2 0

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

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

 
0 5 6

Сдвиг делителя 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.

 

Пример.

Теперь рассмотренный пример деления с восстановлением остатка представим в -кодах.

Делимое X=65, делитель Y=8, Z = X: Y.

Ниже приводится схема реализации деления в D-кодах.

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

Делимое [056] 0000 0101 0110

[080] 1111 1000 0000

1111 1101 0110

коррекция 1010 1010 0000

(976) 1001 0111 0110 < 0 0

Восстановление [080] 0110 1110 0110

0000 0101 1100

коррекция 0000 0000 1010

 
(056) 0000 0101 0110

[008] 1111 1111 1000

0000 0100 1110

коррекция 0000 0000 1010

(048) 0000 0100 1000 > 0 01

[008] 1111 1111 1000

0000 0100 0000

коррекция 0000 0000 0000

(040) 0000 0100 0000 > 0 02

[008] 1111 1111 1000

0000 0011 1000

коррекция 0000 0000 1010

(032) 0000 0011 0010 > 0 03

[008] 1111 1111 1000

0000 0010 1010

коррекция 0000 0000 1010

(024) 0000 0010 0100 > 0 04

[008] 1111 1111 1000

0000 0001 1100

коррекция 0000 0000 1010

(016) 0000 0001 0110 > 0 05

[008] 1111 1111 1000

0000 0000 1110

коррекция 0000 0000 1010

(008) 0000 0000 1000 > 0 06

[008] 1111 1111 1000

0000 0000 0000 = 0 07

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

В заключение рассмотрим пример деления десятичных чисел без восстановления остатка.

 

Пример.

Вычислить десятичное частное Z = X:Y при X=56, Y=8 по методу без восстановления остатка в десятичной системе счисления.

 

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

 

+
Делимое 0 5 6

доп. = 920 9 2 0

+
 
9 7 6 0 (остаток меньше 0)

Сдвиг делителя 0 0 8

+
пр. = 008 9 8 4 09 (остаток меньше 0)

0 0 8

+
9 9 2 08 (остаток меньше 0)

0 0 8

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

 

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

Вышеприведенный пример деления без восстановления остатка рассмотрим теперь в -кодах. Делимое X=56, делитель Y=8, Z = X: Y.

 

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

Делимое [056] 0000 0101 0110

[080] 1111 1000 0000

1111 1101 0110

коррекция 1010 1010 0000

 
(976) 1001 0111 0110 < 0 0

[008] 0110 0110 1110

1111 1110 0100

коррекция 1010 0000 1010

(984) 1001 1000 0100 < 0 09

[008] 0110 0110 1110

1111 1111 0010

коррекция 1010 1010 0000

(992) 1001 1001 0010 < 0 08

[008] 0110 0110 1110

0000 0000 0000 = 0 07

Следовательно, Z=X: Y = 7.

АЛГОРИТМИЧЕСКИЕ МОДЕЛИ ВЫПОЛНЕНИЯ

АРИФМЕТИЧЕСКИХ ОПЕРАЦИЙ





Поделиться с друзьями:


Дата добавления: 2016-11-12; Мы поможем в написании ваших работ!; просмотров: 747 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Бутерброд по-студенчески - кусок черного хлеба, а на него кусок белого. © Неизвестно
==> читать все изречения...

3295 - | 3221 -


© 2015-2026 lektsii.org - Контакты - Последнее добавление

Ген: 0.011 с.