previous arrow
next arrow
Slider

Системы счисления. Перевод из одной системы в другую.

1. Порядковый счет в различных системах счисления.

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

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

Поскольку у нас десятичная система счисления, мы имеем 10 символов (цифр) для построения чисел. Начинаем порядковый счет: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Цифры закончились. Мы увеличиваем разрядность числа и обнуляем младший разряд: 10. Затем опять увеличиваем младший разряд, пока не закончатся все цифры: 11, 12, 13, 14, 15, 16, 17, 18, 19. Увеличиваем старший разряд на 1 и обнуляем младший: 20. Когда мы используем все цифры для обоих разрядов (получим число 99), опять увеличиваем разрядность числа и обнуляем имеющиеся разряды: 100. И так далее.

Попробуем сделать то же самое в 2-ной, 3-ной и 5-ной системах (введем обозначение \(\rm X_2\) для 2-ной системы, \(\rm X_3\) для 3-ной и т.д.):

\(\rm X_{10}\) \(\rm X_2\) \(\rm X_3\) \(\rm X_5\)
0 0 0 0
1 1 1 1
2 10 2 2
3 11 10 3
4 100 11 4
5 101 12 10
6 110 20 11
7 111 21 12
8 1000 22 13
9 1001 100 14
10 1010 101 20
11 1011 102 21
12 1100 110 22
13 1101 111 23
14 1110 112 24
15 1111 120 30

Если система счисления имеет основание больше 10, то нам придется вводить дополнительные символы, принято вводить буквы латинского алфавита. Например, для 12-ричной системы кроме десяти цифр нам понадобятся две буквы (\(\rm A\) и \(\rm B\)):

\(\rm X_{10}\) \(\rm X_{12}\)
0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 \(\rm A\)
11 \(\rm B\)
12 10
13 11
14 12
15 13

 

 
2.Перевод из десятичной системы счисления в любую другую.

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

Пример 1. Переведем десятичное число 46 в двоичную систему счисления.

Перевод

\(46=101110_2\)

Пример 2. Переведем десятичное число 672 в восьмеричную систему счисления.

Перевод

\(672=1240_8\)

Пример 3. Переведем десятичное число 934 в шестнадцатеричную систему счисления.

Перевод

\(\rm 934=3A6_{16}\)

3. Перевод из любой системы счисления в десятичную.

Для того, чтобы научиться переводить числа из любой другой системы в десятичную, проанализируем привычную нам запись десятичного числа.
Например, десятичное число 325 – это 5 единиц, 2 десятка и 3 сотни, т.е.

\(325_{10}=5+2 \cdot 10 + 3 \cdot 100.\)

Точно так же обстоит дело и в других системах счисления, только умножать будем не на 10, 100 и пр., а на степени основания системы счисления. Для примера возьмем число 1201 в троичной системе счисления. Пронумеруем разряды справа налево начиная с нуля и представим наше число как сумму произведений цифры на тройку в степени разряда числа:

\(3\;2\;1\;0\)
\(1\;2\;0\;1_3=1 \cdot 3^0 + 0 \cdot 3^1 + 2 \cdot 3^2 + 1 \cdot 3^3=1+0+18+27=46\)
\(1\;2\;0\;1_3=1 \cdot 3^3 + 2 \cdot 3^2 + 0 \cdot 3^1 + 1 \cdot 3^0=27+18+0+1=46\)

Это и есть десятичная запись нашего числа, т.е. \(1201_3 = 46_{10}.\)

Пример 4. Переведем в десятичную систему счисления восьмеричное число 511.

\(511_8=5 \cdot 8^2+1 \cdot 8^1+1 \cdot 8^0=5 \cdot 64+1 \cdot 8+1=329\)
\(511_8=329_{10}.\)

Пример 5. Переведем в десятичную систему счисления шестнадцатеричное число 1151.

\(1 \cdot 16^3+1 \cdot 16^2+5 \cdot 16^1+1 \cdot 16^0=1 \cdot 4096+1 \cdot 256+5 \cdot 16+1=4096+256+80+1=4433.\)
\(1151_{16}=4433_{10}.\)

4. Перевод из двоичной системы в систему с основанием «степень двойки» (4, 8, 16 и т.д.).

Для преобразования двоичного числа в число с основанием «степень двойки» необходимо двоичную последовательность разбить на группы по количеству цифр равному степени справа налево и каждую группу заменить соответствующей цифрой новой системы счисления.

Например, Переведем двоичное 1100001111010110 число в восьмеричную систему. Для этого разобьем его на группы по 3 символа начиная справа (т.к. \(8=2^3\)), а затем воспользуемся таблицей соответствия и заменим каждую группу на новую цифру:

\(1\) \(100\) \(001\) \(111\) \(010\) \(110_2\)
\(1\) \(4\) \(1\) \(7\) \(2\) \(6_8\)

Таблицу соответствия мы научились строить в п.1.

\(\rm X_{2}\) \(\rm X_8\)
0 0
1 1
10 2
11 3
100 4
101 5
110 6
111 7

Т.е. \(1100001111010110_2 = 141726_8.\)

Пример 6. Переведем двоичное 1100001111010110 число в шестнадцатеричную систему.

\(\rm X_{2}\) \(\rm X_{16}\)
0 0
1 1
10 2
11 3
100 4
101 5
110 6
111 7
1000 8
1001 9
1010 A
1011 B
1100 C
1101 D
1110 E
1111 F

\(\rm 1100001111010110_2 = 1100\;0011\;1101\;0110_2 = C3D6_{16}.\)

5.Перевод из системы с основанием «степень двойки» (4, 8, 16 и т.д.) в двоичную.

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

Пример 7. Переведем шестнадцатеричное число С3A6 в двоичную систему счисления.

Для этого каждую цифру числа заменим группой из 4 цифр (т.к. \(16=2^4\)) из таблицы соответствия, дополнив при необходимости группу нулями вначале:
\(\rm C_{16}=1100_2\)
\(\rm 3_{16}=0011_2\)
\(\rm A_{16}=1010_2\)
\(\rm 6_{16}=0110_2\)

\(\rm C3A6_{16}=1100\;0011\;1010\;0110_2.\)