Материал предоставлен http://it.rfet.ru

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

  • Ситуация весьма напоминает порядок использованием переменных в программах - они тоже имеют значение и имя. Эта аналогия подчеркивает общность подхода к представлению данных независимо от того, кому (или чему) эти данные предназначены.

Начнем с некоторых общих замечаний относительно понятия число. Можно считать, что любое число имеет значение (содержание) и форму представления*. Значение числа задает его отношение к значениям других чисел («больше», «меньше», «равно») и, следовательно, порядок расположения чисел на числовой оси. Форма представления, как следует из названия, определяет порядок записи числа с помощью предназначенных для этого знаков. При этом значение числа является инвариантом, т.е. не зависит от способа его представления. Это означает также, что число с одним и тем же значением может быть записано по-разному, т.е. отсутствует взаимно однозначное соответствие между представлением числа и его значением. В связи с этим возникают вопросы, во-первых, о формах представления чисел, и, во-вторых, о возможности и способах перехода от одной формы к другой.

Способ представления числа определяется системой счисления.

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

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

Унарная - это система счисления, в которой для записи чисел используется только один знак - | («палочка»). Следующее число получается из предыдущего добавлением новой |; их количество (сумма) равно самому числу. Именно такая система применяется для начального обучения счету детей (можно вспомнить «счетные палочки»); использование унарной системы оказывается важным педагогическим приемом для введения детей в мир чисел и действий с ними. Но, как увидим в дальнейшем, унарная система важна также в теоретическом отношении, поскольку в ней число представляется наиболее простым способом и, следовательно, просты операции с ним. Кроме того, именно унарная система определяет значение целого числа количеством содержащихся в нем единиц, которое, как было сказано, не зависит от формы представления. Для записи числа в унарной системе в дальнейшем будем использовать обозначение %%Z_1%%.

Из непозиционных наиболее распространенной можно считать римскую систему счисления. В ней некоторые базовые числа обозначены заглавными латинскими буквами: 1 - I, 5 - V, 10 - Х, 50 - L , 100 - С, 500 - D, 1000 - М. Все другие числа строятся комбинаций базовых в соответствии со следующими правилами:

  • если цифра меньшего значения стоит справа от большей цифры, то их значения суммируются; если слева - то меньшее значение вычитается из большего.
  • цифры I, X, С и М могут следовать подряд не более трех раз каждая;
  • цифры V, L и D могут использоваться в записи числа не более одного раза.

Например, запись XIX соответствует числу 19, MDXLIX - числу 1549. Запись чисел в такой системе громоздка и неудобна, но еще более неудобным оказывается выполнение в ней даже самых простых арифметических операций. Отсутствие нуля и знаков для чисел больше М не позволяют римскими цифрами записать любое число (хотя бы натуральное). По указанным причинам теперь римская система используется лишь для нумерации.

В настоящее время для представления чисел применяют, в основном, позиционные системы счисления.

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

Наиболее распространенной и привычной является система счисления, в которой для записи чисел используется 10 цифр: 0, 1, 2, 3, 4, 5, 6, 7, 8 и 9. Число представляет собой краткую запись многочлена, в который входят степени некоторого другого числа - основания системы счисления. Например,

%%272.12= 2\cdot 10^2+2\cdot 10^1+2\cdot 10^0+1\cdot 10^{-1}+2\cdot 10^{-2}%%

В данном числе цифра 2 встречается трижды, однако, значение этих цифр различно и определяется их положением (позицией) в числе. Количество цифр для построения чисел, очевидно, равно основанию системы счисления. Также очевидно, что максимальная цифра на 1 меньше основания. Причина широкого распространения именно десятичной системы счисления понятна - она происходит от унарной системы с пальцами рук в качестве «палочек».

Однако в истории человечества имеются свидетельства использования и других систем счисления - пятиричной, шестиричной, двенадцатиричной, двадцатиричной и даже шестидесятиричной.

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

По принципу, положенному в основу десятичной системы счисления, очевидно, можно построить системы с иным основанием. Пусть р - основание системы счисления. Тогда любое число Z (пока ограничимся только целыми числами), удовлетворяющее условию %%Z < p^k%% (%%k ≥ 0%%, целое), может быть представлено в виде многочлена со степенями р (при этом, очевидно, максимальный показатель степени будет равен %%k - 1%%):

$$Z-p=a_{k-1}\cdot p^{k-1}+a_{k-2}\cdot p^{k-2}+...+a_1\cdot p^1+a_0\cdot p^0=\sum^{k-1}_{j=o} {a_jp^j}~~~(4.1)$$

Из коэффициентов %%a_j%% при степенях основания строится сокращенная запись числа:

%%Z_p=(a_{k-1},a_{k-1},...a_1,a_0)%%

Индекс %%р%% у числа %%Z%% указывает, что оно записано в системе счисления с основанием %%р%%; общее число цифр числа равно %%k%%. Все коэффициенты %%a_j%% - целые числа, удовлетворяющие условию:

$$0\leqslant a_j\leqslant p-1$$

Уместно задаться вопросом: каково минимальное значение %%p%%? %%p = 1%% невозможно, поскольку тогда все %%a_j = 0%% и форма (4.1) теряет смысл. Первое допустимое значение %%р = 2%% - оно и является минимальным для позиционных систем. Система счисления с основанием 2 называется двоичной. Цифрами двоичной системы являются 0 и 1, а форма (4.1) строится по степеням 2. Интерес именно к этой системе счисления связан с тем, что, как указывалось выше, любая информация в компьютерах представляется с помощью двух состояний - 0 и 1, которые легко реализуются технически. Наряду с двоичной в компьютерах используются 8-ричная и 16-ричная системы счисления - причины будут рассмотрены далее.

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

$$|||||_1 = 5_{10} = 101_2 = 10_5 = 5_6 = 5_{16}$$

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

Представление и обработка чиселПредставление чисел в различных системах счисления