ВУЗ:
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
- …
- следующая ›
- последняя »
