ВУЗ:
69
15
Рг2’[n-1]:=0
16
Рг2’[n-1]:=1
Начало
РгСм:=См; Рг2’:=Л(1)Рг2
5
A
2
да
Рг1=0
Прерывание по
делению на 0
нет
РгA:=0;РгB:=0
3
См:=РгА+РгВ
да
4
Рг2=0
нет
6
да
СчЦ=0
нет
B
РгСм:=Л(1)См; РгСм[n-1]:=Рг2[0]
Рг2’:=Л(1)Рг2; СчЦ:=СчЦ-1
12
7
да
См[0]=0
нет
РгА:=Рг1
РгB:=РгСм
Рг2:=Рг2’
9
См:=РгА+РгВ
РгА:=Рг1
РгB:=РгСм
Рг2:=Рг2’
10
См:=РгА+РгВ+1
14
да
См[0]=0
нет
B
РгСм:=См; РгСм[0]:=ТгЗн1
⊕
ТгЗн2
ШИВых:=РгСм
18
Рисунок 2.21 - Алгоритм деления целых чисел
с фиксированной запятой без восстановления остатка
Конец
8
нет
См[0]=0
да
РгСм:=См
13
ШИВых:=РгСм
РгB:=РгСм
РгА:=Рг1
11
См:=РгА+РгВ
РгСм:=См
17
Рг2:=Рг2’
РгB:=Рг2;РгА:=0
См:=РгA+РгB
A
Рг1:=ШИВх; ТгЗн1:=Рг1[0]
Рг2:=ШИВх; ТгЗн2:=Рг2[0]
1
СчЦ:=n
70
Частичные остатки после выполнения сложения при
делении без восстановления остатка получаются такими
же, как и после сдвига восстановленного остатка при
делении с восстановлением остатка.
Деление без восстановления остатка всегда требует
для получения одной цифры частного сдвига частичного
остатка, а также сложения или вычитания делителя.
Рассмотрим деление чисел с фиксированной запятой
без восстановления остатка, в соответствии с алгоритмом,
представленным на рис. 2.21.
Пример - Пусть X = +19, Y = +7. Вычислить Z = X / Y,
где X, Y , Z – числа с фиксированной запятой. При делении
использовать алгоритм деления чисел с фиксированной запятой
без восстановления остатка.
Так же, как и в предыдущем примере, для
представления чисел с фиксированной запятой выделим 6
разрядов (n = 6), старший разряд – знаковый. Так как
делимое и делитель положительные, то их знаковые
разряды равны 0. Делимое X показано на рис. 2.22.а,
делитель Y показан на рис. 2.22.б.
Частичные остатки после выполнения сложения при Начало делении без восстановления остатка получаются такими Рг1:=ШИВх; ТгЗн1:=Рг1[0] 1 Рг2:=ШИВх; ТгЗн2:=Рг2[0] же, как и после сдвига восстановленного остатка при СчЦ:=n делении с восстановлением остатка. нет да Деление без восстановления остатка всегда требует 2 Рг1=0 РгA:=0;РгB:=0 Прерывание по для получения одной цифры частного сдвига частичного 3 делению на 0 См:=РгА+РгВ остатка, а также сложения или вычитания делителя. нет 4 Рг2=0 да 5 РгСм:=См; Рг2’:=Л(1)Рг2 B Рассмотрим деление чисел с фиксированной запятой A нет да 6 СчЦ=0 без восстановления остатка, в соответствии с алгоритмом, нет да да нет 7 См[0]=0 8 См[0]=0 представленным на рис. 2.21. РгА:=Рг1 РгА:=Рг1 РгСм:=См РгB:=РгСм РгB:=РгСм РгB:=РгСм 9 10 Рг2:=Рг2’ 11 Рг2:=Рг2’ РгА:=Рг1 Пример - Пусть X = +19, Y = +7. Вычислить Z = X / Y, См:=РгА+РгВ См:=РгА+РгВ+1 См:=РгА+РгВ где X, Y , Z – числа с фиксированной запятой. При делении РгСм:=Л(1)См; РгСм[n-1]:=Рг2[0] использовать алгоритм деления чисел с фиксированной запятой РгСм:=См 12 13 Рг2’:=Л(1)Рг2; СчЦ:=СчЦ-1 ШИВых:=РгСм без восстановления остатка. нет да Так же, как и в предыдущем примере, для 14 См[0]=0 Рг2:=Рг2’ 17 РгB:=Рг2;РгА:=0 представления чисел с фиксированной запятой выделим 6 15 Рг2’[n-1]:=0 16 Рг2’[n-1]:=1 См:=РгA+РгB разрядов (n = 6), старший разряд – знаковый. Так как A B 18 РгСм:=См; РгСм[0]:=ТгЗн1⊕ТгЗн2 делимое и делитель положительные, то их знаковые ШИВых:=РгСм разряды равны 0. Делимое X показано на рис. 2.22.а, Конец делитель Y показан на рис. 2.22.б. Рисунок 2.21 - Алгоритм деления целых чисел с фиксированной запятой без восстановления остатка 69 70
Страницы
- « первая
- ‹ предыдущая
- …
- 33
- 34
- 35
- 36
- 37
- …
- следующая ›
- последняя »