Позиционные системы счисления

Тип работы:
Реферат
Предмет:
Программирование


Узнать стоимость

Детальная информация о работе

Выдержка из работы

Министерство образования и науки Российской Федерации

Курганский государственный университет

Кафедра экономической теории и моделирования экономических процессов

Реферат

По дисциплине «Экономическая информатика»

По теме:

Позиционные системы счисления

Выполнил: Щербина А.

группа Э-171

Руководитель: Филимонов С. М.

Курган, 2011 г.

Оглавление

  • Введение
  • История
  • Определение
  • Примеры
  • Запись чисел
    • Экономичность
  • Свойства
  • Переход к другому основанию
    • Перевод в десятичную систему счисления
    • Перевод из десятичной системы счисления
    • Перевод из двоичной в восьмеричную и шестнадцатеричную системы
    • Перевод из восьмеричной и шестнадцатеричной систем в двоичную
    • Перевод дробной части из двоичной системы в 8- и 16-ричную
    • Перевод из произвольной системы счисления в десятичную
    • Перевод из десятичной системы в произвольную
  • Вариации и обобщения
    • Запись рациональных чисел
    • Симметричные системы счисления
    • Отрицательные основания
    • Нецелочисленные основания
    • Комплексные основания
      • Двоичные комплексные системы счисления
    • Непоказательные системы счисления
  • Список литературы

Введение

Системой счисления называются определенные символы и правила их использования при записи чисел. Ежедневно мы пользуемся различными системами счисления и не замечаем этого. Это может быть подсчет времени — секунды, минуты, часы, года, запись чисел XXXIV и много другого.

Выделят два вида систем счисления: позиционные и непозиционные системы счисления. Позиционная система счисления — это система счисления, в которой значение цифры зависит от разряда (например, десятичную систему, двоичную, восьмеричную, шестнадцатеричную и т. д.).

Непозиционная система счисления — это система счисления, в которой значение цифры не изменяется в зависимости от ее расположения (например, римская система, в которой вместо цифр используются латинские буквы).

Разрядом числа называется место цифры в числе

Число единиц какого-либо разряда, объединяемых в единицу более старшего разряда, называют основанием позиционной системы счисления. Если количество таких цифр равно P, то система счисления называется P-ичной. Основание системы счисления совпадает с количеством цифр, используемых для записи чисел в этой системе счисления.

Запись произвольного числа x в P-ичной позиционной системе счисления основывается на представлении этого числа в виде многочлена

x = anPn + an-1Pn-1 + … + a1P1 + a0P0 + a-1P-1 + … + a-mP-m

Арифметические действия над числами в любой позиционной системе счисления производятся по тем же правилам, что и десятичной системе, так как все они основываются на правилах выполнения действий над соответствующими многочленами. При этом нужно только пользоваться теми таблицами сложения и умножения, которые соответствуют данному основанию P системы счисления.

История

Изобретение позиционной нумерации, основанной на поместном значении цифр, приписывается шумерам и вавилонянам. Такая нумерация была развита индусами и имела неоценимые последствия в истории цивилизации. К числу таких систем относится десятичная система счисления, возникновение которой связано со счетом на пальцах. В средневековой Европе она появилась через итальянских купцов, в свою очередь заимствовавших её у мусульман.

Определение

Позиционная система счисления определяется целым числом b > 1, называемым основанием системы счисления. Система счисления с основанием b также называется b-ричной (в частности, двоичной, троичной, десятичной и т. п.).

Целое число x в b-ричной системе счисления представляется в виде конечной линейной комбинации степеней числа b:

,

где — это целые числа, называемые цифрами, удовлетворяющие неравенству

Каждая степень в такой записи называется разрядом (позицией), старшинство разрядов и соответствующих им цифр определяется значением показателя степени. Обычно для ненулевого числа требуют, чтобы старшая цифра в b-ричном представлении была также ненулевой.

Если не возникает разночтений (например, когда все цифры представляются в виде уникальных письменных знаков), число записывают в виде последовательности его b-ричных цифр, перечисляемых по убыванию старшинства разрядов слева направо:

Построение такой записи числа называют позиционным кодированием числа, а саму запись -- позиционным кодом числа.

Например, число сто три представляется в десятичной системе счисления в виде:

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

С помощью n позиций в b-ричной системе счисления можно записать целые числа от 0 до bn?1, то есть, всего bn различных чисел.

Примеры

1 -- единичная (унарная) система счисления, может рассматриваться как вырожденный случай позиционной системы счисления;

2 -- двоичная (в дискретной математике, информатике, программировании);

3 -- троичная система счисления;

4 -- четверичная система счисления;

8 -- восьмеричная (в программировании);

10 -- десятичная система счисления;

12 -- двенадцатеричная (широко использовалась в древности, в некоторых частных областях используется и сейчас);

16 -- шестнадцатеричная (наиболее распространена в программировании, а также в шрифтах);

40 -- сорокаичная система счисления (применялась в древности: в частности, «сорок сороков» = 1600);

60 -- шестидесятеричная (измерение углов и, в частности, долготы и широты, измерение времени).

Запись чисел

Для записи чисел в системах счисления с основанием до 36 включительно в качестве цифр (знаков) используются арабские цифры (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) и затем буквы латинского алфавита (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z). При этом, a = 10, b = 11 и т. д., иногда x = 10.

В некоторых специальных областях применяются особые правила указания основания. Например, в программировании шестнадцатеричная система обозначается:

o в ассемблере и записях общего рода, не привязанных к конкретному языку, буквой h (от hexadecimal) в конце числа (синтаксис Intel);

o в Паскале знаком «$» в начале числа;

o в C и многих других языках комбинацией 0x или 0X (от hexadecimal) в начале.

В некоторых диалектах языка Си по аналогии с «0x» используется префикс «0b» для обозначения двоичных чисел. (Обозначение «0b» не входит в стандарт ANSI C.)

В русских счётах для записи чисел в десятичной показательной позиционной системе счисления применяется унарнодесятичная система записи (представления) десятичных цифр с одной избыточной унарнодесятичной цифрой «1 111 111 111"=1010 на каждый разряд.

Экономичность

В цифровой технике система счисления с основанием b реализуется регистрами, состоящими из наборов триггеров, каждый из которых может принимать b различных состояний, кодирующих цифры числа. При этом особое значение приобретает экономичность системы счисления -- возможность представления как можно большего диапазона чисел с использованием как можно меньшего общего количества состояний. Если общее количество состояний равно m, то количество триггеров примерно равно, а количество представимых ими чисел соответственно --. Как функция от b, это выражение достигает максимума при b равном числу e = 2,718 281 828… При целых значениях b максимум достигается для b = 3. Таким образом, наиболее экономичной является троичная система счисления (используемая в троичных ЭВМ), следом за которой идут двоичная система счисления (традиционно используемая в большинстве распространённых ЭВМ) и четверичная система счисления.

Экономичность системы счисления -- немаловажное обстоятельство с точки зрения её использования в вычислительной машине. Поэтому, хотя применение в вычислительной машине троичной системы вместо двоичной влечёт некоторые конструктивные трудности (при этом нужно пользоваться элементами, каждый из которых может находиться не в двух, а в трёх устойчивых состояниях), эта система уже была использована в некоторых реально существующих вычислительных устройствах. С. В. Фомин, советский математик

Эквивалентное описание экономичности системы счисления можно получить, используя понятие информационной энтропии. При условии равновероятности появления каждой из цифр в записи числа информационная энтропия записи n-разрядного числа в системе счисления с основанием b принимает значение (с точностью до постоянного коэффициента). Поэтому плотность записи (то есть, количество информации на один разряд) чисел в системе счисления с основанием b равна, которая также принимает максимальное значение при b = e, а для целых значений b -- при b = 3.

Свойства

Позиционная система счисления обладает рядом свойств:

· Основание системы счисления в ней самой всегда записывается как 10; например, в двоичной системе счисления 10 означает число 2. Данное утверждение неприменимо к унарной системе счисления, в которой используется только одна цифра.

· Для записи числа x в b-ричной системе счисления требуется цифр, где означает взятие целой части числа.

· Естественный порядок на натуральных числах соответствует лексикографическому порядку на их представлениях в позиционной системе счисления. Поэтому сравнивать их представления можно поразрядно, начиная со старшего разряда, до тех пор, пока цифра в одном числе не будет больше соответствующей цифры в другом. Например, для сравнения чисел 321 и 312 в десятичной системе счисления нужно сравнивать цифры в одинаковых разрядах слева направо:

o 3 = 3 -- результат сравнения чисел пока не определён;

o 2 > 1 -- первое число больше (независимо от оставшихся цифр).

· Арифметические операции над числами. Позиционная система счисления позволяет без труда выполнять сложение, вычитание, умножение, деление и деление с остатком чисел, зная только таблицу сложения однозначных чисел, а для трёх последних операций ещё и таблицу умножения в соответствующей системе. (См., например, деление столбиком).

Переход к другому основанию

Перевод в десятичную систему счисления.

Если число в b-ричной системе счисления равно:

то для перевода в десятичную систему вычисляем такую сумму:

или, в более наглядном виде:

либо, наконец, в виде схемы Горнера:

Например:

101 1002 = 1 · 25 + 0 · 24 + 1 · 2і + 1 · 2І + 0 · 21 + 0 · 1 = 1 · 32 + 0 · 16 + 1

8 + 1 · 4 + 0 · 2 + 0 · 1 = 32 + 8 + 4 + 0 = 4410

Перевод из десятичной системы счисления

Целая часть

1. Последовательно делить целую часть десятичного числа на основание, пока десятичное число не станет равно нулю.

2. Полученные при делении остатки являются цифрами нужного числа. Число в новой системе записывают, начиная с последнего остатка.

Дробная часть

1. Дробную часть десятичного числа умножаем на основание системы, в которую требуется перевести. Отделяем целую часть. Продолжаем умножать дробную часть на основание новой системы, пока она не станет равной 0.

2. Число в новой системе составляют целые части результатов умножения в порядке, соответствующем их получению.

Пример

4410 переведём в двоичную систему:

44 делим на 2. частное 22, остаток 0

22 делим на 2. частное 11, остаток 0

11 делим на 2. частное 5, остаток 1

5 делим на 2. частное 2, остаток 1

2 делим на 2. частное 1, остаток 0

1 делим на 2. частное 0, остаток 1

Частное равно нулю, деление закончено. Теперь записав все остатки снизу вверх получим число 101 1002

Перевод из двоичной в восьмеричную и шестнадцатеричную системы

Для этого типа операций существует упрощённый алгоритм.

Для восьмеричной -- разбиваем переводимое число на количество цифр, равное степени 2 (2 возводится в ту степень, которая требуется, чтобы получить основание системы, в которую требуется перевести (2і=8), в данном случае 3, то есть триад). Преобразуем триады по таблице триад:

Таблица 1

000

0

001

1

010

2

011

3

100

4

101

5

110

6

111

7

Для шестнадцатеричной -- разбиваем переводимое число на количество цифр, равное степени 2 (2 возводится в ту степень, которая требуется, чтобы получить основание системы, в которую требуется перевести (24=16), в данном случае 4, то есть тетрад). Преобразуем тетрады по таблице тетрад:

Таблица 2

0000

0

1000

8

0001

1

1001

9

0010

2

1010

А

0011

3

1011

В

0100

4

1100

С

0101

5

1101

D

0110

6

1110

Е

0111

7

1111

F

Пример:

преобразуем 101 1002

восьмеричная -- 101 100 > 548

шестнадцатеричная -- 0010 1100 > 2C16

Перевод из восьмеричной и шестнадцатеричной систем в двоичную

Для этого типа операций существует упрощённый алгоритм-перевёртыш. система счисление символ число

Для восьмеричной -- преобразуем по таблице в триплеты (см. табл. 1).

Для шестнадцатеричной -- преобразуем по таблице в квартеты (см. табл. 2).

Пример:

преобразуем

548 > 101 100

2C16 > 0010 1100

Перевод дробной части из двоичной системы в 8- и 16-ричную

Перевод дробной части из двоичной системы счисления в системы счисления с основаниями 8 и 16 осуществляется точно также, как и для целых частей числа, за тем лишь исключением, что разбивка на октавы и тетрады идёт вправо от десятичной запятой, недостающие разряды дополняются нулями справа. Например, рассмотренное выше число 1100,0112 будет выглядеть как 14,38 или C, 616.

Перевод из произвольной системы счисления в десятичную

Рассмотрим пример перевода двоичного числа 1100,0112 в десятичное. Целая часть этого числа равна 12 (см. выше), а вот перевод дробной части рассмотрим подробнее:

Итак, число 1100,0112 = 12,37510.

Точно также осуществляется перевод из любой системы счисления, только вместо «2» ставится основание системы.

Для удобства перевода, целую и дробную части числа переводят отдельно, а результат потом суммируют.

Перевод из десятичной системы в произвольную

Для перевода дробной части числа в другие системы счисления нужно обратить целую часть в нуль и начать умножение получившегося числа на основание той системы, в которую нужно перевести. Если в результате умножения будут снова появляться целые части, их нужно повторно обращать в нуль, предварительно запомнив (записав) значение получившейся целой части. Операция заканчивается, когда дробная часть полностью обратится в нуль. Ниже приводится пример перевода числа 103,62510 в двоичную систему счисления.

Переводим целую часть по правилам, описанным выше, получаем 10310 = 1 100 1112.

0,625 умножаем на 2. Дробная часть 0,250. Целая часть 1.

0,250 умножаем на 2. Дробная часть 0,500. Целая часть 0.

0,500 умножаем на 2. Дробная часть 0,000. Целая часть 1.

Итак, сверху вниз получаем число 1012. Поэтому 103,62510 = 1 100 111,1012.

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

Сразу нужно отметить, что этот пример специально подобран, в общем случае очень редко удаётся завершить перевод дробной части числа из десятичной системы в другие системы счисления, а потому, в подавляющем большинстве случаев, перевод можно осуществить с какой либо долей погрешности. Чем больше знаков после запятой -- тем точнее приближение результата перевода к истине. В этих словах легко убедиться, если попытаться, например, перевести в двоичный код число 0,626.

Вариации и обобщения

Запись рациональных чисел

Рациональное число x в b-ричной системе счисления представляется в виде линейной комбинации (вообще говоря, бесконечной) степеней числа b:

где ak -- цифры целой части (до запятой), ck -- цифры дробной части (после запятой), n -- число разрядов целой части.

Конечной записью в b-ричной системе счисления обладают только рациональные числа, представимые в виде, где m и q -- целые числа:

где и представляют b-ричные записи соответственно частного и остатка от деления q на bm.

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

Симметричные системы счисления

Симметричные (уравновешенные, знакоразрядные) системы счисления отличаются тем, что используют цифры не из множества, а из множества. Чтобы цифры были целыми, нужно, чтобы b было нечётным. В симметричных системах счисления не требуется дополнительных обозначений для знака числа. Кроме того, вычисления в симметричных системах удобны тем, что не требуется особых правил округления -- оно сводится к простому отбрасыванию лишних разрядов, что резко уменьшает систематические ошибки вычислений.

Чаще всего используется симметричная троичная система счисления с цифрами (-1,0,1). Она применяется в троичной логике и была технически реализована в вычислительной машине «Сетунь».

Отрицательные основания

Существуют позиционные системы с отрицательными основаниями, называемые нега-позиционными:

-2 -- нега-двоичная система счисления

-3 -- нега-троичная система счисления

-10 -- нега-десятичная система счисления

Нецелочисленные основания

Иногда также рассматривают позиционные системы счисления с нецелочисленными основаниями: рациональными, иррациональными, трансцендентными.

Примерами таких систем счисления являются:

· при b =? -- система счисления с рациональным дробным основанием, позволяет на троичных реверсивных регистрах сдвига производить операции умножения и деления на целые числа,

· при b = Ѕ -- система счисления с рациональным дробным основанием,

· при b = ц = 1,61… -- система счисления Бергмана с иррациональным основанием равным «золотому сечению».

Комплексные основания

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

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

Примеры

Далее будем записывать позиционную систему счисления в следующем виде, где с -- основание системы счисления, а A -- множество цифр. В частности, множество A может иметь вид:

где и. При множество превращается в множество.

Примерами систем счисления с комплексными основаниями являются (далее j — мнимая единица):

где, --

целое положительное число, которое может принимать несколько значений при данном R;

где множество состоит из комплексных чисел вида

,

а числа

где

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

Ниже перечислены основания двоичных позиционных систем счисления и представления чисел 2, -2 и -1 в них:

с = 2: 2 = (10)с (система счисления с натуральным основанием);

с =? 2: 2 = (110)с,? 2 = (10)с,? 1 = 11с (нега-позиционная система счисления);

с =? с2: 2 = (10 100)с,? 2 = (100)с,? 1 = 101с (система счисления с комплексным основанием);

: 2 = (10 100)с,? 2 = (100)с,? 1 = (101)с (система счисления с комплексным основанием);

с =? 1 + j: 2 = (1100)с,? 2 = (11 100)с,? 1 = (11 101)с (система счисления с комплексным основанием);

: 2 = (1010)с,? 2 = (110)с,? 1 = (111)с (система счисления с комплексным основанием).

Непоказательные системы счисления

Показательные системы счисления являются частным случаем позиционных систем счисления с показательной зависимостью. Вместо показательной зависимости могут быть другие зависимости. Например, гипероператорная позиционная система счисления hiper4(a, b)

позволяет записывать бомльшие диапазоны чисел тем же числом знаков.

Список литературы:

1. И. Яглом Системы счисления // Квант. -- 1970. -- № 6. -- С. 2−10.

2. Позиционные системы счисления. Перевод чисел из одной позиционной системы счисления в другую. Арифметические операции с числами в позиционных системах счисления // Введение в информатику. Лабораторные работы / Авт. -сост. А. П. Шестаков -- Пермь: Перм. ун-т., 1999.

3. Поспелов Д. А. Арифметические основы вычислительных машин дискретного действия -- Высшая школа. -- 1970.

ПоказатьСвернуть
Заполнить форму текущей работой