Системы счисления применяемые в ЭВМ

LXXXVIII

Как видно из примера, смысл каждого символа не зависит от того места, на котором он стоит. Так цифра X, участвуя три раза в записи числа 88, каждый раз означает одну и ту же величину - десять единиц.

В позиционной системе счисления значение цифры определяется ее положением в числе: один и тот же знак принимает различные значения. Например, в десятичном числе 333 первая цифра справа означает три единицы, соседняя с ней три десятка, а левая - три сотни. Число можно представить в виде многочлена по степеням 10: 3*102 + 3*101 + 3*100.

Любая позиционная система счисления характеризуется основанием.

Основание (базис) естественной позиционной системы счисления - число знаков или символов, используемых для изображения цифр в данной системе. Поэтому возможно бесчисленное множество позиционных систем, так как за основание можно принять любое целое число p (p>1):2,3,...,8,...,10,...,16,.., образовав новую систему. Например, возможна шестнадцатеричная система счисления, запись чисел в которой производится с помощью следующих знаков (цифр): 0,1,...,9, A, B, C, D, E, F.

Для позиционной системы счисления справедливо равенство

A(p)=a(n-1)pn-1 + ... + a1 p1 + a0 p0 + …+ a(-1)p-1+...+a(-m)p-m, (1)

где A(p) - произвольное число, записанное в системе счисления

с основанием p;

ai - цифры системы счисления;

n, m - число целых и дробных разрядов.

На практике используют сокращенную запись чисел, путем перечисления цифр ai с указанием положения запятой:

A (p) = a(n-1).. a1a0,a(-1)...a(-m) (2)

Эта последовательность цифр, стоящих в правой части равенства (2) и будет являться изображением числа A(p) в p - ичной системе счисления.

Числу 86,54 соответствует его значение, согласно (1):

86,54(10)=8*101 + 8*100 + 5*10-1 + 4*10-2.

Для примера запишем число X=135(10) в двоичной, троичной, восьмеричной и шестнадцатеричной системах счисления.

X = 10000111(2) = 12000(3) = 207(8) = 87(16).

Справедливость этих равенств можно подтвердить, используя написание числа X по формуле (1):

X(2)=1*27+0*26 +0*25+0*24+0*23+1*22+1*21+1*20=135(10);

X(3) = 1*34+2*33+0*32+0*31+0*30 = 135(10);

X(8) = 2*82+0*81+7*80 = 135(10);

X(16)= 8*161+7*160 = 135(10).

Из приведенного примера видно, что увеличение основания системы счисления делает запись числа более компактной (уменьшает потребное количество разрядов для его изображения). В этом смысле наименее экономична двоичная система счисления (в рассмотренном примере требуется восемь разрядов для записи числа вместо двух для шестнадцатеричной системы). Количество разрядов в двоичной системе счисления примерно в 3,3 раза больше потребного количества разрядов в десятичной системе счисления.

В табл. 1 приведены эквиваленты десятичных чисел в двоичной, восьмеричной и шестнадцатеричной системах счисления.

Системы счисления, применяемые в ЭВМ можно разделить на основную и вспомогательную.

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

· простота конструкции элементов, представляющих каждый разряд числа. При применении двоичной системы счисления они наиболее просты, так как должны иметь только два устойчивых состояния, соответствующих цифрам 0 и 1, которые изображают коэффициенты ai в равенстве (1). Это увеличивает надежность функционирования ЭВМ;

· простота выполнения арифметических операций является свойством двоичной арифметики (см. табл. 2);

· немало важное значение при выборе основной системы счисления имеет тот факт, что в этом случае можно использовать хорошо разработанный аппарат двоичной логики.

Операции сложения, вычитания и умножения двоичных чисел представлены в табл. 2.

Таблица 1

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

Десятичное число, р =10 Двоичное число, р=2 Восьмеричное число, р=8 Шестнадцатеричное число, р=16
A
B
C
D
E
F

 

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

Таблица 2

Двоичные операции
0 + 0 = 0 0 - 0 = 0 0 * 0 = 0
0 +1 = 0 1 - 0 = 1 0 * 1 = 0
1 + 0 = 1 1 - 1 = 0 1 * 0 = 0
1 + 1 = 10 10 - 1 = 1 1 * 1 = 1
1 + 1 + 1 = 11    

 

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

Исходная числовая информация и результаты решения представляются, как правило, в десятичной системе счисления. Программа часто кодируется в шестнадцатеричной системе счисления, имеющей компактную запись, и, вместе с тем, делающей простой перевод чисел в двоичную систему счисления. Шестнадцатеричные цифры имеют 16 значений: от 0 до 15; они записываются цифрами от 0 до 9, затем идет буква А (обозначает число 10), буква B (обозначает 11) и далее от С до F (со значениями от 12 до 15). Десятичные эквиваленты чисел представлены в табл.1. Каждая шестнадцатеричная цифра соответствует комбинации четырех двоичных, т.е. 4 битам (16=24 ). Если для записи программы применяется восьмеричная система, использующая для записи числа цифры от 0 до 7, каждой цифре соответствует 3 бита (8=23).

Использование двоичной системы счисления для ЭВМ связано с необходимостью перевода вводимых в ЭВМ чисел в двоичную систему счисления и обратного преобразования числовых данных при выводе из ЭВМ. Эти преобразования осуществляются автоматически с использованием специально разработанных методов. Однако если потребуется ручной перевод при отладке программы, расчете контрольной точки и т.д., то его можно осуществить несколькими путями: для целых чисел, правильных дробей, произвольных чисел (неправильных дробей).

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