Общепринятой в современном мире является десятичная позиционная система исчисления, которая из Индии через арабские страны пришла в Европу. Основой системы является число десять. Основой системы исчисления называется число, означающее, во сколько раз единица следующего разряда больше чем единица предыдущего.
Общеупотребительной формой записи числа является сокращенная форма записи разложения по степеням основы системы исчисления, например
130678=1*105+3*104+0*103+6*102+7*101+8
Здесь 10 служит основой системы исчисления, а показатель степени - это номер позиции цифры в записи числа (нумерация ведется слева на право, начиная с нуля). Арифметические операции в этой системе выполняют по правилам, предложенным еще в средневековье. Например, складывая два многозначных числа, применяем правило сложения столбиком. При этом все сводится к сложению однозначных чисел, для которых необходимо знать таблицу сложения.
Проблема выбора системы исчисления для представления чисел в памяти компьютера имеет большое практическое значение. В случае ее выбора обычно учитываются такие требования, как надежность представления чисел при использовании физических элементов, экономичность (использование таких систем исчисления, в которых количество элементов для представления чисел из некоторого диапазона было бы минимальном). Для изображения целых чисел от 1 до 999 в десятичной системе достаточно трех разрядов, то есть трех элементов. Поскольку каждый элемент может находиться в десяти состояниях, то общее количество состояний - 30, в двоичной системе исчисления: 99910=11111002, необходимое количество состояний - 20 (индекс внизу числа - основа системы исчисления).
Более распространенной для представления чисел в памяти компьютера является двоичная система исчисления. Для изображения чисел в этой системе необходимо две цифры: 0 и 1, то есть достаточно двух стойких состояний физических элементов. Эта система близка к оптимальной по экономичности, и кроме того, таблицы сложения и умножения в этой системе элементарные:
|
Поскольку 23=8, а 24=16, то каждых три двоичных разряда числа образовывают один восьмиричный, а каждых четыре двоичных разряда - один шестнадцатиричный. Поэтому для сокращения записи адресов и содержимого оперативной памяти компьютера используют шестнадцатиричную и восьмиричную системы исчисления. Ниже, в таблице 1 приведены первые 16 натуральных чисел записанных в десятичной, двоичной, восьмиричной и шеснадцатиричной системах исчисления.
Таблица 1
|
Для отладки программ и в других ситуациях в программировании актуальной является проблема перевода чисел из одной позиционной системы исчисления в другую. Если основа новой системы исчисления равняется некоторой степени старой системы исчисления, то алгоритм перевода очень простой: нужно сгруппировать справа налево разряды в количестве, равном показателю степени и заменить эту группу разрядов соответствующим символом новой системы исчисления. Этим алгоритмом удобно пользоваться при переводе числа из двоичной системы исчисления в восьмиричную или шестнадцатиричную. Например, 101102= 10110 =268, 10111002= 1011100 =5C8
Перевод чисел из восьмиричной или шестнадцатиричной систем исчисления в двоичную происходит по обратному правилу: один символ старой системы исчисления заменяется группой разрядов новой системы исчисления, в количестве равном показателю степени новой системы исчисления. Например, 4728= 100111010 =1001110102, B516= 10110101 =101101012
Как видим, если основа одной системы исчисления равняется некоторой степени другой, то перевод очень простой. В противном случае пользуются правилами перевода числа из одной позиционной системы исчисления в другую (чаще всего при переводе из двоичной, восьмиричной и шшестнадцатиричной систем исчисления в десятичную, и наоборот).