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.\)