Page 42 - ЭВМ
P. 42

Таким образом, по алгоритму деления с восстановлением остатка:
                      – если а ≥ 0, то новое значение остатка равно (2а – у);
                      – если а < 0, то новое значение остатка равно (2а + у).

                      В  соответствии  с  результатами  получаем  следующее  правило
               деления без восстановления остатка: если остаток а ≥ 0, то происхо-
               дит сдвиг остатка влево на один разряд и вычитание делителя; если
               а < 0, то происходит сдвиг остатка влево на один разряд и прибавле-
               ние делителя.
                      Итерационный метод выполнения операции деления. В некото-

               рых случаях операцию деления z = x/y реализуют опосредованно, ис-
               пользуя операцию умножения: z = (1/y)·х.
                      В этом случае необходимо найти обратную величину делителя:
                  –1
               у  = 1/у. Это достигается за счёт использования итерационной фор-
               мулы,  в  которой  применяются  только  операции  сложения (вычита-

               ния) и умножения.
                      Для делителя у из соответствующей таблицы берётся некоторое
               приближение  t 1,  которое  дает  некоторую  начальную  относительную
               погрешность:
                                                        1/у – t 1,
                                                  δ 1 = 1/у = 1 – уt 1.

                      Откуда имеем следующее: 1/у = t 1/(1 – δ 1).
                                                                                          2
                                                                                                3
                      Запишем 1/(1 – δ 1) в виде ряда:  1/(1 – δ 1) = 1 + δ 1 + δ 1 + δ 1 + …
                      Ограничиваясь  двумя  слагаемыми,  находим 1/у  ≈  t 1  (1 +  δ 1).
               Заменяя δ 1 в последнем выражении, имеем t 1 (1 + δ 1) = t 1 (1 + 1 – yt 1) =
               = t 1 (2 – yt 1), что дает уточненное значение t 2 для 1/у:

                                                    t 2 = t 1 (2 – yt 1).

                      По аналогии получаем итерационную формулу для 1/у:

                                                   t i+1 = t i (2 – yt i).                          (1.2)

                      Найдем оценку погрешности определения 1/у. По определению
               t 1 = (1/y) (1 – δ 1).
                      Из итерационной формулы

                                     t 2 = (1/y)(1 – δ 1)(2 – y · (1/y)(1 – δ 1)) =
                                                                                   2
                                   = (1/y)(1 – δ 1)(2 – 1 + δ 1) = (1/y)(1 – δ 1 ),

                                                     2i
               и при любом i t i = (1/y) (1 – δ 1 ).
                      Отсюда следует, что если t 1 задано с точностью четыре разряда,
               а надо получить 1/у с точностью 32 разряда, необходимо сделать три

               шага, так как на каждом из них число верных разрядов удваивается.


                                                           42
   37   38   39   40   41   42   43   44   45   46   47