На этом шаге мы рассмотрим виды систем счисления.
Начнем с некоторых общих замечаний относительно понятия число. Можно считать, что любое число имеет значение (содержание) и форму представления. Значение числа задает его отношение к значениям других чисел ("больше", "меньше", "равно") и, следовательно, порядок расположения чисел на числовой оси. Форма представления, как следует из названия, определяет порядок записи числа с помощью предназначенных для этого знаков. При этом значение числа является инвариантом, т.е. не зависит от способа его представления. Это означает также, что число с одним и тем же значением может быть записано по-разному, т.е. отсутствует взаимно однозначное соответствие между представлением числа и его значением. В связи с этим возникают вопросы, во-первых, о формах представления чисел, и, во-вторых, о возможности и способах перехода от одной формы к другой.
Способ представления числа определяется системой счисления.
Система счисления – это правило записи чисел с помощью заданного набора специальных знаков – цифр.
Людьми использовались различные способы записи чисел, которые можно объединить в несколько групп:
Унарная - это система счисления, в которой для записи чисел используется только один знак – I ("палочка"). Следующее число получается из предыдущего добавлением новой I; их количество (сумма) равно самому числу. Именно такая система применяется для начального обучения счету детей (можно вспомнить "счетные палочки"); использование унарной системы оказывается важным педагогическим приемом для введения детей в мир чисел и действий с ними. Но, как мы увидим в дальнейшем, унарная система важна также в теоретическом отношении, поскольку в ней число представляется наиболее простым способом и, следовательно, просты операции с ним. Кроме того, именно унарная система определяет значение целого числа количеством содержащихся в нем единиц, которое, как было сказано, не зависит от формы представления. Для записи числа в унарной системе в дальнейшем будем использовать обозначение Z1.
Из непозиционных наиболее распространенной можно считать римскую систему счисления. В ней некоторые базовые числа обозначены заглавными латинскими буквами: 1 – I, 5 – V, 10 – X, 50 – L, 100 – C, 500 – D, 1000 – M. Все другие числа строятся комбинаций базовых в соответствии со следующими правилами:
Например, запись XIX соответствует числу 19, MDXLIX – числу 1549. Запись чисел в такой системе громоздка и неудобна, но еще более неудобным оказывается выполнение в ней даже самых простых арифметических операций. Отсутствие нуля и знаков для чисел больше M не позволяют римскими цифрами записать любое число (хотя бы натуральное). По указанным причинам теперь римская система используется лишь для нумерации.
В настоящее время для представления чисел применяют, в основном, позиционные системы счисления.
Позиционными называются системы счисления, в которых значение каждой цифры в изображении числа определяется ее положением (позицией) в ряду других цифр.
Наиболее распространенной и привычной является система счисления, в которой для записи чисел используется 10 цифр: 0, 1, 2, 3, 4, 5, 6, 7, 8 и 9. Число представляет собой краткую запись многочлена, в который входят степени некоторого другого числа – основания системы счисления. Например,
272,12 = 2·102+7·101+2·100+ 1·10-1+2·10-2
В данном числе цифра 2 встречается трижды, однако, значение этих цифр различно и определяется их положением (позицией) в числе. Количество цифр для построения чисел, очевидно, равно основанию системы счисления. Также очевидно, что максимальная цифра на 1 меньше основания. Причина широкого распространения именно десятичной системы счисления понятна – она происходит от унарной системы с пальцами рук в качестве "палочек". Однако в истории человечества имеются свидетельства использования и других систем счисления – пятеричной, шестеричной, двенадцатеричной, двадцатеричной и даже шестидесятеричной.
Общим для унарной и римской систем счисления является то, что значение числа в них определяется посредством операций сложения и вычитания базисных цифр, из которых составлено число, независимо от их позиции в числе. Такие системы получили название аддитивных. В отличие от них позиционное представление следует считать аддитивно-мультипликативным, поскольку значение числа определяется операциями умножения и сложения. Главной же особенностью позиционного представления является то, что в нем посредством конечного набора знаков (цифр, разделителя десятичных разрядов и обозначения знака числа) можно записать неограниченное количество различных чисел. Кроме того, в позиционных системах гораздо легче, чем в аддитивных, осуществляются операции умножения и деления. Именно эти обстоятельства обуславливают доминирование позиционных систем при обработке чисел как человеком, так и компьютером.
По принципу, положенному в основу десятичной системы счисления, очевидно, можно построить системы с иным основанием. Пусть p – основание системы счисления. Тогда любое число Z (пока ограничимся только целыми числами), удовлетворяющее условию Z < pk (k 0, целое), может быть представлено в виде многочлена со степенями p (при этом, очевидно, максимальный показатель степени будет равен k – 1):
(1)
Из коэффициентов aj при степенях основания строится сокращенная запись числа:
Zp = (ak-1 ak-1 ... a1 a0)
Индекс p у числа Z указывает, что оно записано в системе счисления с основанием p; общее число цифр числа равно k. Все коэффициенты aj – целые числа, удовлетворяющие условию:
0 aj p - 1
Уместно задаться вопросом: каково минимальное значение p? p = 1 невозможно, поскольку тогда все aj = 0 и форма (1) теряет смысл. Первое допустимое значение p = 2 – оно и является минимальным для позиционных систем. Система счисления с основанием 2 называется двоичной. Цифрами двоичной системы являются 0 и 1, а форма >(1) строится по степеням 2. Интерес именно к этой системе счисления связан с тем, что, как указывалось выше, любая информация в компьютерах представляется с помощью двух состояний – 0 и 1, которые легко реализуются технически. Наряду с двоичной в компьютерах используются 8-ричная и 16-ричная системы счисления – причины будут рассмотрены далее.
Необходимо еще раз подчеркнуть, что значение целого числа, т.е. общее количество входящих в него единиц, не зависит от способа его представления и остается одинаковым во всех системах счисления; различаются только формы представления одного и того же количественного содержания числа. Например, IIIII1 = 510 = 1012 = 105 = 56 = 516. Другими словами, размер стипендии или зарплаты не станет больше от того, что при ее начислении вместо десятичной будут использовать, например, двоичную систему счисления.
На следующем шаге мы рассмотрим перевод целых чисел из одной системы счисления в другую.