Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Метод_итог7.doc
Скачиваний:
76
Добавлен:
17.11.2019
Размер:
16.96 Mб
Скачать

2.4 Метод, основанный на “схеме Горнера”

В основе метода преобразования, использующего т.н. “cхему Горнера”, лежит представление полиномов 1.1 и 1.2 в виде

Для целой части числа

Для дробной части числа

Вычисления по разложениям вида 2.1 и 2.1 выполняются следующим образом.

Задача состоит в преобразовании числа, заданного в исходной системе счисления с основанием , в другую (требуемую ) СС с основанием

Процедура 2.3 Преобразование целых чисел (целой части смешанного числа).

  1. Число заданное в исходной системе счисления с основанием , представляется в виде полинома (2.1) в системе с основанием . В полиноме сохраняются члены с нулевыми цифрами

  2. Все цифры и числа, используемые для представления полиномиальных членов, заменяются их представлениями в системе .

  3. Выполняются (по правилам требуемой системы счисления!) следующие операции над конвертированными полиномиальными членами:

    1. старшая цифра числа умножается на основание требуемой системы счисления. К полученному произведению прибавляется следующая (с ближайшим меньшим весом) цифра.

    2. полученная сумма умножается на основание требуемой системы счисления..

    3. к полученному произведению прибавляется очередная цифра. Если прибавленная цифра – младшая цифра числа, то п.4, если нет, то п. 3.2;

  4. Полученная сумма – число в новой системе счисления.

Процедура 2.4 Преобразование дробных чисел (дробной части смешанного числа).

  1. Пункты.1,2 по Процедуре 2.3.

  2. Младшая цифра числа делиться на основание требуемой системы счисления.

  3. К полученному частному прибавляется следующая (с ближайшим большим весом) цифра.

  4. Полученная сумма делиться на основание требуемой системы счисления.

  5. Если последняя прибавленная цифра – старшая цифра дробной части, то п.6, иначе п.3

  6. Конец

Рассматриваемый метод является частным случаем метода поэлементного замещения, рассмотренного ранее. Действительно, конвертация, как и в методе непосредственного замещения, обеспечивается за счет замещения полиномиальных членов их эквивалентами в требуемой системе счисления (этапы 1-2 Процедур 2.3, 2.4). Применение же схемы Горнера для вычислений на последующих этапах обеспечивает:

  • ускорение процедур конвертации.

  • позволяет устранить ограничения метода поэлементного замещения при переводе некоторых дробных чисел.

Пример 2.8 Выполнить по схеме Горнера конвертацию целых чисел .

Этап 1. Представление заданного восьмеричного числа по схеме Горнера в виде

Этап 2. Замещение восьмеричных чисел их десятичными эквивалентами

В правой части получен десятично–восьмеричный полином, представленный по схеме Горнера.

Этап 3. Поэлементные рекурсивные преобразования в десятичной системе счисления по выполняются как

Таким образом,

Для конвертации потребовалось 2 операции умножения и 2 операции сложения. Если сложность операции возведения в степень оценить как -умножений, то по прямой Процедуре 2.4 необходимо уже 3 умножения и два сложения. Очевидно, что эффективность применения схемы Горнера возрастает с увеличением разрядности конвертируемых чисел. Очевидно, также, что для целых чисел метод не теряет универсальности.

Пример 2.9 Выполнить, используя схему Горнера конвертацию дробных чисел .

Этапы 1,2 Заданное восьмеричное число по схеме Горнера представляется в виде

Выполнено также замещение десятичных элементов их двоичными эквиваленитами.

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

Таким образом, Для конвертации потребовалось 2 операции умножения и 2 операции сложения.

Из примера 2.9 следует важный вывод о том, что схема Горнера обеспечила точное преобразование числа в двоичную систему счисления, что не обеспечивалось ранее методом поэлементного замещения.

Метод является базовым при преобразованиях двоично –десятичных чисел в двоичные. При “ручных” преобразованиях удаётся избежать операций возведения в отрицательную или положительную степень оснований систем счисления, заменив эти операции последовательным (рекурсивным) умножением.