Изобретение десятичной системы счисления.

 

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

Запись числа в позиционной системе счисления.

 

Основание с/с соответствует количеству цифр (знаков), используемых для записи чисел в этой с/с. Например, основанием десятичной с/с есть число 10 и именно десять цифр (0,1,2,3,4,5,6,7,8,9) мы используем при записи чисел в этой с/с. В двоичной с/с мы используем всего две цифры - 0 и 1, в шестнадцатиричной - 16, причем для чисел 10,11,12,13,14,15 в этой с/с введены дополнительное цифры (знаки) - A,B,C,D,E,F соответственно, т.к. традиционно используемых цифр недостаточно. Необходимо заметить, что люди дали название той или иной с/с в десятичной с/с. Число, соответствующее основанию рассматриваемой с/с запишется в этой с/с как 10:
2 (10 с/с) = 10 (2 с/с)
16 (10 с/с)= 10 (16 с/с)
8 (10 с/с) = 10 (8 с/с)
После появления позиционной системы появились и правила (алгоритмы) сложения, вычитания, умножения (столбиком), деления (уголком).
Однако с технической точки зрения основание 10 не слишком удобно: в цепях электрических схем необходимо для этого иметь 10 различных сигналов (хотя десятичная с/с использовалась в механических арифмометрах). С технической точки зрения, чем меньше сигналов в схеме, тем лучше. Наименьшее основание , которое может быть у позиционной с/с, - это 2. Поэтому двоичная с/с широко используется в современной вычислительной технике, в устройствах автоматики и связи.
Перевод чисел из произвольной с/с в десятичную и наоборот.

· Рассмотрим какое-нибудь число в традиционной для нас 10 с/с, например 1 570 321. Нам известно, что данное число мы можем представить следующим образом в десятичной с/с:
1*106+5*105+7*104+0*103+3*102+2*101+1*100
Аналогично можно поступить с числом 110011 в двоичной с/с:
1*10101+1*10100+0*1011+0*1010+1*101+1*100
(здесь все числа, входящие в выражение представлены в 2 с/с)
Нам привычнее видеть запись этого же выражения в 10 с/с:
1*25+1*24+0*23+0*22+1*21+1*20
Если мы вычислим значение этого выражения в 10 с/с, то получим представление указанного двоичного числа в 10 с/с. Таким образом мы получаем очень простой метод перевода чисел из любой с/с в десятичную: пусть имеется с/с с основанием k и некоторое число a1..an в этой с/с, где a1,..,an - цифры этого числа. Данное число можно представить в виде :
a1*kn-1+a2*kn-2+...+an*k0
Если записать данное выражение, представив все числовые значения в 10 с/с, и вычислить его значение, то получим десятичное представление исходного числа, представленного в произвольной с/с. Этот алгоритм является универсальным для перевода из любой системы счисления в десятичную.

Существует также несложный алгоритм перевода чисел из десятичной системы счисления в произвольную, который является ничем другим, как обратным к алгоритму, рассмотренному выше. Пусть b1..bn - число в 10 с/с. r - основание той системы счисления, в которую мы переводим наше десятичное число. Записываем число b1..bn в виде суммы произведений цифр числа на соответствующую степень основания:
b1..bn=с1*rm+c2*rm-1+...+ci*r0,
так, чтобы значение выражения, стоящего в правой части, было равно числу b1..bn, а c1,...,ci могли бы принимать значения только из допустимого данной с/с множества цифр. Число c1..ci и будет искомым числом в с/с с основанием r.
Тот же результат будет достигнут если исходное число делить на основание с/с в которую требуется перевести число:
1 шаг. Разделить исходное число на r, зафиксировать остаток от деления (число от 0 до r-1) и частное.
2 шаг. Если частное больше r, то снова разделить его на r, продолжая фиксировать остаток от деления. Процесс деления частных продолжать до тех пор, пока частное не станет меньше r.
3 шаг. Все полученные в процессе деления остатки от деления и последнее частное будут образовывать цифры исходного числа в с/с с основанием r. Выписав все найденные цифры в обратном порядке (начиная с последнего частного), мы и получим искомое представление числа.

Восьмеричная система счисления.

При внешнем (вне ЭВМ) представлении числовой информации применять двоичную систему счисления с ее громоздкими записями неудобно. В этом случае часто используется восьмеричная система.
В восьмеричной системе числа записываются с помощью восьми цифр: 0,1,2,3,4,5,6,7, а сама восьмерка числом 10.Удобство восьмеричной системы счисления заключается в том, что переход от восьмеричной к двоичной очень прост: достаточно каждую восьмеричную цифру заменить ее двоичным представлением (двоичной триадой)в соответствии с приведенной ниже таблицей.

восьмеричная система счисления
двоичная система счисления

Например, 5028 = 101 000 0102
Достаточно прост и обратный переход от двоичной с/с к восьмеричной. Для этого в двоичной записи числа нужно выделить триады (влево и вправо от десятичной точки) и заменить каждую триаду соответствующей восьмеричной цифрой. В случае необходимости неполные триады дополняются нулями.
Например, 1 111 1102 = 001 111 1102 = 1768

Шестнадцатеричная система счисления.


При подготовке информации для современных ЭВМ и описания характера их работы используется шестнадцатеричная с/с. Для записи чисел в этой системе необходимо располагать шестнадцатью различными символами.
Очевидно, что для первых десяти цифр можно использовать цифры от нуля до девяти - 0,1,2,...,9. Для обозначения остальных используются буквы латинского алфавита - A,B,C,D,E,F, которые соответственно обозначают 10,11,12,13,14 и 15. Переход от шестнадцатиричной к двоичной так же прост, как от восьмеричной к двоичной. Только на этот раз каждую шестнадцатеричную цифру нужно заменить соответствующей двоичной тетрадой (см. таблицу).

десятичная система счисления
шестнадцатеричная система счисления 8> A B C D E F
двоичная система счисления