Системы счисления
Основные понятия
Система счисления — это совокупность правил записи чисел посредством конечного набора символов (цифр).
Системы счисления бывают:
- непозиционными (в этих системах значение цифры не зависит от ее позиции — положения в записи числа);
- позиционными (значение цифры зависит от позиции).
Непозиционные системы счисления
Примеры: унарная, римская, древнерусская и др.
Позиционные системы счисления
- Основание системы счисления —
- количество различных цифр, используемых в этой системе.
- Вес разряда —
- отношение количественного эквивалента цифры в этом разряде к количественному эквиваленту той же цифры в нулевом разряде
pi = si,
где i — номер разряда, а s — основание системы счисления.
Разряды числа нумеруются справа налево, причем младший разряд целой части (стоящий перед разделителем — запятой или точкой) имеет номер ноль. Разряды дробной части имеют отрицательные номера:
число |
5 |
3 |
7 |
2 |
. |
2 |
5 |
номера разрядов |
3 |
2 |
1 |
0 |
|
-1 |
-2 |
Перевод в десятичную систему счисления
По определению веса разряда
pi = si,
где i — номер разряда, а s — основание системы счисления.
Тогда, обозначив цифры числа как ai, любое число, записанное в позиционной системе счисления, можем представить в виде:
x = ansn + an-1sn-1 + ... + a2s2 + a1s1 + a0s0 + a-1s-1 + ...
Например, для системы счисления с основанием 4:
1302.24 = 1⋅43 + 3⋅42 + 0⋅41 + 2⋅40 + 2⋅4-1
Выполнив вычисления, мы получим значение исходного числа, записанное в десятичной системе счисления (точнее, в той, в которой производим вычисления). В данном случае:
1302.24 = 1⋅43 + 3⋅42 + 0⋅41 + 2⋅40 + 2⋅4-1 =
= 1⋅64 + 3⋅16 + 0⋅4 + 2⋅1 + 2⋅0,25 =
= 64 + 48 + 2 + 0,5 = 114,5
Таким образом, для перевода числа из любой системы счисления в десятичную следует:
- пронумеровать разряды исходного числа;
- записать сумму, слагаемые которой получаются как произведения очередной цифры на основание системы счисления, возведенное в степень, равную номеру разряда;
- выполнить вычисления и записать полученный результат (указав основание новой системы счисления — 10).
Примеры:
Перевод из десятичной системы счисления
Вспомним пример перевода из системы счисления с основанием 4 в десятичную:
13024 = 1⋅43 + 3⋅42 + 0⋅41 + 2⋅40 = 114
Иначе это можно записать так:
114 = ((1 ⋅ 4 + 3) ⋅ 4 + 0) ⋅ 4 + 2 = 13024
Отсюда видно, что при делении 114 на 4 нацело в остатке должно остаться 2 — это младшая цифра при записи в четверичной системе. Частное же будет равно
(1 ⋅ 4 + 3) ⋅ 4 + 0
Деление его на 4 даст остаток — следующую цифру (0) и частное 1 ⋅ 4 + 3. Продолжая действия, получим аналогичным образом и оставшиеся цифры.
В общем случае для перевода целой части числа из десятичной системы счисления в систему с каким-либо другим основанием необходимо:
- Выполнить последовательное деление с остатком исходного числа и каждого полученного частного на основание новой системы счисления.
- Записать вычисленные остатки, начиная с последнего (т.е. в обратном порядке)
Примеры:
Системы счисления с кратными основаниями
При работе с компьютерами широко применяют двоичную систему счисления (поскольку на ней основано представление информации в компьютере), а также восьмеричную и шестнадцатеричную, запись в которых более компактна и удобна для человека. С другой стороны, благодаря тому что 8 и 16 — степени 2, переход между записью в двоичной и одной из этих систем осуществляется без вычислений.
Достаточно заменить каждый разряд шестнадцатеричной записи четырьмя (16=24) разрядами двоичной (и наоборот) по таблице.
Примеры:
шестнадцатеричная -> двоичная |
A |
3 |
2 |
E |
1010 |
0011 |
0010 |
1110 |
двоичная -> шестнадцатеричная |
(00)10 |
1010 |
0111 |
1101 |
2 |
A |
7 |
D |
Аналогично происходит и перевод между двоичной и восьмеричной системой, только разряд восьмеричной соответствует трем разрядам двоичной (8=23)
Примеры:
восьмеричная -> двоичная |
|
5 |
3 |
2 |
1 |
|
101 |
011 |
010 |
001 |
двоичная -> восьмеричная |
(0)10 |
101 |
001 |
111 |
101 |
2 |
5 |
1 |
7 |
5 |
Арифметика
Арифметические операции в позиционной системе с любым основанием производятся по одним и тем же правилам: сложение, вычитарние и умножение «в столбик», а деление — «уголком». Рассмотрим пример выполнения действий сложения и вычитания в двоичной, восьмеричной и шестнадцатеричной системах счисления.
Сложение
Двоичная система:
|
|
• |
• |
• |
• |
|
|
(перенос) |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
|
|
1 |
0 |
0 |
1 |
1 |
1 |
0 |
|
|
|
1 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
|
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
(номера разрядов) |
В нулевом разряде: 1 + 0 = 0
В первом разряде: 1 + 1 = 2. 2 переносится в старший (2-й) разряд, обращаясь в единицу переноса. В первом разряде остается 2 - 2 = 0.
Во втором разряде: 0 + 1 + 1 (перенос) = 2; Переносим в старший разряд,
В третьем разряде: 1 + 1 + 1 (перенос) = 3; В старший разряд переносим 2, здесь остается 3 - 2 = 1.
Продолжая вычисления, получим:
100110112 + 10011102 = 111010012
Восьмеричная система:
• |
|
• |
|
|
(перенос) |
3 |
4 |
2 |
6 |
1 |
|
|
4 |
4 |
3 |
5 |
|
|
|
4 |
0 |
7 |
1 |
6 |
|
4 |
3 |
2 |
1 |
0 |
(номера разрядов) |
Выполняем вычисления аналогично двоичной системе, но в старший разряд переносим 8. Получаем:
342618 + 44358 = 407168
Шестнадцатеричная система:
• |
|
|
|
|
(перенос) |
|
A |
3 |
9 |
1 |
|
|
8 |
5 |
3 |
4 |
|
|
|
1 |
2 |
8 |
C |
5 |
|
4 |
3 |
2 |
1 |
0 |
(номера разрядов) |
A39116 + 853416 = 128C516
Вычитание
Двоичная система:
• |
|
|
• |
• |
|
|
|
(перенос) |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
|
|
1 |
0 |
0 |
1 |
1 |
1 |
0 |
|
|
|
|
1 |
0 |
0 |
1 |
1 |
0 |
1 |
|
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
(номера разрядов) |
В нулевом разряде: 1 - 0 = 1
В первом разряде: 1 - 1 = 0.
Во втором разряде: 0 - 1; необходимо занять единицу старшего разряда. Поскольку веса разрядов двоичной системы отличаются в 2 раза: 2 + 0 - 1 = 1
Из третьего разряда занимали единицу, там остался 0, поэтому вновь нужно занимать из старшего разряда.
Продолжая вычисления, получим:
100110112 - 10011102 = 10011012
Восьмеричная система:
• |
• |
|
• |
|
(перенос) |
3 |
4 |
2 |
6 |
1 |
|
|
4 |
4 |
3 |
5 |
|
|
|
2 |
7 |
6 |
2 |
4 |
|
4 |
3 |
2 |
1 |
0 |
(номера разрядов) |
Выполняем вычисления аналогично двоичной системе, но, занимая из старшего разряда, получаем 8. В результате:
342618 - 44358 = 276248
Шестнадцатеричная система:
|
• |
|
• |
|
(перенос) |
|
A |
3 |
9 |
1 |
|
|
8 |
5 |
3 |
4 |
|
|
|
|
1 |
E |
3 |
D |
|
4 |
3 |
2 |
1 |
0 |
(номера разрядов) |
A39116 - 853416 = 1E3D16
|