Выполнение арифметических операций в АЛУ для чисел с фиксированной запятой. Часть I. Базарова С. Б-М - 32 стр.

UptoLike

63
Деление с восстановлением остатка всегда требует
для получения одной цифры частного сдвиг частичного
Рисунок 2.18 - Алгоритм деления целых чисел
с фиксированной запятой с восстановлением остатка
8
B
6
См:=РгA+РгB+1
РгСм:=Л(1)См; РгСм[n-1]:=Рг2[0]
Рг2’:=Л(1)Рг2;СчЦ:=СчЦ-1;Рг2[n-1]:=0
РгA:=Рг1
См:=РгA+РгB
РгСм:=Л(1)См; РгСм[n-1]:=Рг2[0]
7
РгA:=0
СчЦ=0
нет да
11
да нет
См[0]=0
Рг2’[n-1]:=1
13
Рг2’[n-1]:=0
12
ШИВых:=РгСм
РгСм:=См; РгСм[0]:=ТгЗн1
ТгЗн2
14
Конец
A
9
См:=РгA+РгB+1
РгСм:=Л(1)См; РгСм[n-1]:=Рг2[0]
Рг2’:=Л(1)Рг2; СчЦ:=СчЦ-1
РгA:=Рг1
РгB:=РгСм;Рг2:=Рг2’
РгСм:=См
РгB:=Рг2
См:=РгA+РгB
10
РгА:=0; Рг2:=Рг2’
ШИВых:=РгСм
64
остатка, вычитание делителя, а иногда и восстановление
остатка.
Пример - Пусть X = +23, Y = +5. Вычислить Z = X / Y,
где X, Y , Z – числа с фиксированной запятой. При делении
использовать алгоритм деления чисел с фиксированной запятой с
восстановлением остатка.
В данном примере для представления чисел с
фиксированной запятой выделим 6 разрядов (т.е. n = 6),
причём старший разрядзнаковый. Так как делимое и
делитель положительные, то их знаковые разряды равны 0.
Делимое X показано на рис. 2.19.а, делитель Y
показан на рис. 2.19.б.
Веса
разрядов
2
4
2
3
2
2
2
1
2
0
Веса
разрядов
2
4
2
3
2
2
2
1
2
0
0 1 0 1 1 1 0 0 0 1 0 1
Знак Модуль делимого
Знак Модуль делителя
а) б)
а) делимое X = +23; б) делитель Y = +5
Рисунок 2.19- Числа в формате с фиксированной запятой
Представим деление чисел с фиксированной запятой
с восстановлением остатка, в соответствии с алгоритмом,
представленным на рис. 2.18, в виде таблицы (см. табл.
2.4), с указанием номеров блоков, состояния счётчика СчЦ,
состояния разрядов сумматора, состояний разрядов
                                          B                             остатка, вычитание делителя, а иногда и восстановление
                                                                        остатка.
                      РгA:=Рг1
                      См:=РгA+РгB+1                                              Пример - Пусть X = +23, Y = +5. Вычислить Z = X / Y,
                    6
                      РгСм:=Л(1)См; РгСм[n-1]:=Рг2[0]                   где X, Y , Z – числа с фиксированной запятой. При делении
                      Рг2’:=Л(1)Рг2;СчЦ:=СчЦ-1;Рг2[n-1]:=0
                                                                        использовать алгоритм деления чисел с фиксированной запятой с
                        РгA:=0
                      7 См:=РгA+РгB                                     восстановлением остатка.
                        РгСм:=Л(1)См; РгСм[n-1]:=Рг2[0]
                                                                                 В данном примере для представления чисел с
                              нет                     да                фиксированной запятой выделим 6 разрядов (т.е. n = 6),
                                    8     СчЦ=0

                                                                        причём старший разряд – знаковый. Так как делимое и
    РгB:=РгСм;Рг2:=Рг2’                             РгСм:=См
    РгA:=Рг1                                        ШИВых:=РгСм
                                                                        делитель положительные, то их знаковые разряды равны 0.
  9 См:=РгA+РгB+1                                10 РгА:=0; Рг2:=Рг2’
    РгСм:=Л(1)См; РгСм[n-1]:=Рг2[0]                 РгB:=Рг2                     Делимое X показано на рис. 2.19.а, делитель Y
    Рг2’:=Л(1)Рг2; СчЦ:=СчЦ-1                       См:=РгA+РгB         показан на рис. 2.19.б.

              да                    нет                                     Веса                                  Веса
                                                                                     24    23   22   21   20                24   23    22   21   20
                    11 См[0]=0                                            разрядов                              разрядов

  12 Рг2’[n-1]:=0                13 Рг2’[n-1]:=1                             0       1     0    1    1    1          0      0    0     1    0    1
                                                                            Знак      Модуль делимого               Знак     Модуль делителя

                                                                    A                      а)                                     б)
                           РгСм:=См; РгСм[0]:=ТгЗн1⊕ТгЗн2                                 а) делимое X = +23; б) делитель Y = +5
                      14
                           ШИВых:=РгСм                                     Рисунок 2.19- Числа в формате с фиксированной запятой
                                         Конец
                                                                                 Представим деление чисел с фиксированной запятой
             Рисунок 2.18 - Алгоритм деления целых чисел                с восстановлением остатка, в соответствии с алгоритмом,
         с фиксированной запятой с восстановлением остатка
                                                                        представленным на рис. 2.18, в виде таблицы (см. табл.
       Деление с восстановлением остатка всегда требует                 2.4), с указанием номеров блоков, состояния счётчика СчЦ,
для получения одной цифры частного сдвиг частичного                     состояния         разрядов        сумматора,       состояний         разрядов


                                    63                                                                         64