Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Схема Горнера и перевод чисел

Читайте также:
  1. B матрице A[1..N,1..M] упорядочить элементы столбца. содержащего наибольшее количество отрицательных чисел, по убыванию.
  2. Gis la! – Пока в переводе с эсперанто. 1 страница
  3. Gis la! – Пока в переводе с эсперанто. 10 страница
  4. Gis la! – Пока в переводе с эсперанто. 11 страница
  5. Gis la! – Пока в переводе с эсперанто. 12 страница
  6. Gis la! – Пока в переводе с эсперанто. 13 страница
  7. Gis la! – Пока в переводе с эсперанто. 14 страница

Основные понятия систем счисления

Системой счисления или нумерацией называется определенный способ записи чисел. Из Базового курса информатики вы знакомы с историей систем счисления, знаете, что системы счисления бывают позиционными и непозиционными. Вам также известно, что привычная для нас система счисления называется десятичной позиционной системой, что в компьютере для представления чисел и выполнения вычислений используется двоичная система счисления.

Числа заключают в себе количественную информацию. Запись чисел по правилам определенной системы счисления есть способ кодирования чисел. От способа кодирования зависит размер кода, т.е. количество цифр в записи числа, а также правила выполнения вычислений. Одной из главных проблем, которую нужно было решить изобретателям ЭВМ, это проблема представления чисел в памяти компьютера и алгоритма их обработки (вычислений) процессором. Для понимания того, как были решены эти проблемы нужно знать принципы организации систем счисления.

Основные понятия позиционных систем счисления

Цифра – символ, используемый для записи чисел.

Алфавит системы счисления – совокупность всех цифр.

Размерность алфавита – количество цифр в алфавите.

В записи многозначного числа цифры, стоящие в разных позициях, имеют разный вес. Так в целом десятичном числе 325 тройка означает три сотни, двойка – два десятка, пятерка - пять единиц: 325=3·100 + 2·10 +5·1. Такая запись называется развернутой формой записи числа: число записывается в виде суммы, в которой каждое слагаемое – это цифра, умноженная на свой вес. Вот еще пример развернутой записи смешанного десятичного числа:

6248,547 = 6·1000 + 2·100 + 4·10 + 8·1 + 5·0,1 + 4·0,01 + 7·0,001= 6·103 + 2·102 + 4·101 + 8·100 + 5·10-1 + 4·10-2 + 7·1-3

В десятичной системе счисления веса равны степеням десятки (положительным и отрицательным). Каждая позиция в записи числа называется разрядом числа. Разряды нумеруются в целой части числа положительными целыми числами, начиная от нуля, в дробной части – отрицательными числами, начиная от минус единицы:

разряды: 3 2 1 0 -1-2-3

число: 6248,547

Здесь номера разрядов указаны маленькими цифрами сверху. Отсюда видно, что веса соответствующих цифр равны десяти в степени, равной номеру разряда, в котором стоит эта цифра.

Следующий, бесконечный в обе стороны ряд целых степеней десятки называется базисом десятичной системы счисления:

 

… 109, 108, 107, 106, 105, 104, 103, 102, 101, 100, 10-1, 10-2, 10-3, …

Запись числа в развернутой форме еще называют разложением числа по базису.

Десятичная система относится к числу традиционных систем счисления. Для традиционных систем счисления принято размерность алфавита называть основанием системы счисления. Основание десятичной системы счисления равно десяти.

 

По такому же принципу организованы все другие традиционные системы счисления. Наименьшим основанием для позиционной системы является 2 – двоичная система. Система с основание 1 не может быть позиционной, поскольку для нее невозможно построить базис - единица в любой степени равна единице. Базис двоичной системы счисления выглядит так:

 

… 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 2-1, 2-2, 2-3, …

Основанием традиционной позиционной системы может быть любое натуральное число, начиная от двух, а базис – бесконечный в обе стороны ряд целых степеней основания

 

Вот несколько примеров позиционных систем и их алфавитов:

 

Основание Название Алфавит
  Двоичная 0 1
  Троичная 0 1 2
  Восьмеричная 0 1 2 3 4 5 6 7
  Шестнадцатеричная 0 1 2 3 4 5 6 7 8 9 A B C D E F

 

Если n – основание системы не большее десяти, то в алфавите используются n первых арабских цифр. Если основание превышает 10, то в качестве дополнительных цифр выступают буквы латинского алфавита по порядку.

При записи недесятичного числа принято указывать его основание маленькой подстрочной цифрой – нижним индексом. Например: 1375 – число в пятеричной системе счисления. Отметим одно очень важное обстоятельство:

 

в любой позиционной системе счисления ее основание записывается как 10.

 

Например: 102=2, 103=3, 108=8, 1016=16 и т.д.

 

Задача 1. Число в троичной системе счисления: 2011,13 нужно перевести в десятичную систему.

 

Разложим данное число по базису троичной системы счисления, т.е. запишем его в развернутой форме и вычислим полученное выражение по правилам десятичной арифметики:

2011,13= 2·33+0·32+1·31+1·30+1·3-1=54+3+1+1/3=

 

Задача 2. Шестнадцатеричное число 2AF,8C16 перевести в десятичную систему.

 

Задача также решается через разложение шестнадцатеричного числа по базису системы счисления и вычисления полученного выражения. В разложении цифры, обозначаемые буквами, заменяются на их эквиваленты в десятичной системе.

 

2AF,8C16=2·162+10·16+15·160+8·16-1+12·16-2=512+160+15+1/2+3/64= 687,546875

 

Задача 3. Двоичное число 1010101111,1000112 перевести в десятичную систему.

 

1010101111,1000112=1·29+1·27+1·25+1·23+1·22+1·2+1+1·2-1+1·2-5+1·2-6= 512 + 128 + 32 + 8 + 4 +2 + 1 +1/2 + 1/32 +1/64 =687,546875.

 

Обратите внимание, что результат тот же, что и в задаче 2. Значит двоичное число из данной задачи равно шестнадцатеричному числу из задачи 2. К этому обстоятельству мы еще вернемся.

Схема Горнера и перевод чисел

Недесятичное число можно быстро перевести в десятичную систему и с помощью простого калькулятора. Такой перевод связан с применением так называемой схемы Горнера для вычисления алгебраических многочленов. Сначала рассмотрим перевод целого числа на примере восьмеричного числа 2317458. Запишем его в развернутой форме и преобразуем полученную сумму к эквивалентной скобочной форме:

 

2317458 = 2·85+3·84+1·83+7·82+4·8+5=((((2·8+3)·8+1)·8+7)·8+4)·8+5=78821

Раскройте мысленно скобки в записанном выражении, и вы увидите, что получится то же разложение по базису восьмеричной системы счисления. Но зато скобочное выражение очень просто вычислять. На калькуляторе нужно последовательно слева направо выполнять умножения и сложения. Порядок нажатия клавиш на калькуляторе будет таким:

 

  ×   +   ×   +   ×   +   ×   +   ×   +   =

 

В калькуляторе реализуется алгоритм последовательного выполнения цепочки операций: при нажатии клавиши со знаком операции выполняется предыдущая операция и ее результат высвечивается на индикаторе. После нажатия клавиши «равно» выполняется последняя операция цепочки и на индикаторе отражается результат вычисления всего выражения. В рассмотренном примере было выполнено пять умножений и пять сложений. Такой способ вычисления называется схемой Горнера.

В общем виде алгебраический многочлен n -й степени и его преобразование к скобочной форме выглядит так:

Из этой формулы следует, что алгебраический многочлен n -й степени можно вычислит за n операций умножения и n операций сложения. Это самый оптимальный способ вычисления.

Схему Горнера можно применить и для перевода дробных чисел. Покажем на примере двоичного числа 0,1101012. Запишем число в развернутой форме и выполним тождественные преобразования, приводящие выражение к скобочной форме:

 

0,1101012 = 1·2-1+1·2-2+0·2-3+1·2-4+0·2-5+1·2-6 = 1·2-6+0·2-5+1·2-4+0·2-3+1·2-2+1·2-1 =

=(((((1/2+0)/2+1)/2+0)/2+1)/2+1)/2= 0, 828125

 

Полученное выражение также поддается последовательному вычислению на калькуляторе: шесть операций деления и пять – сложения. Клавиши нажимаются в таком порядке:

 

  /   +   /   +   /   +   /   +   /   +   /   =

 

Прибавление нулей можно не делать, тогда число операций сложения сократиться до трех:

  /   /   +   /   /   +   /   +   /   =

Практическое задание №1

Выполните быстрый перевод в десятичную систему счисления следующих недесятичных чисел, пользуясь калькулятором и вычислительной схемой Горнера:

а) 32045, 11010112, 567218, 9A3CEF16;

б) 0,32045, 0,11010112, 0,567218, 0,9A3CEF16;


Дата добавления: 2015-08-10; просмотров: 142 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Второй учебный вопрос. Взгляды командования армий иностранных государств на применение ВТО| Перевод десятичных чисел в другие системы счисления

mybiblioteka.su - 2015-2024 год. (0.01 сек.)