Изменение системы счисления
Изменение основания для позиционных систем счисления
В позиционной системе счисления с основанием q число может быть представлено в виде полинома
… + a2∙q2+ a1q1 + a0∙q0 + a-1∙q-1 + a-2∙q-2 + …
где коэффициенты ai – это цифры системы счисления с основанием q.
Например, в десятичной системе счисления
124.733 = 1∙102 + 2∙101 + 4∙100 + 7∙10-1 + 3∙10-2 + 3∙10-3
Число цифр в системе счисления с основанием q равно q, при этом максимальная цифра равна q - 1. Цифра не может стать равной q, потому что в этом случае произойдёт перенос единицы в новый разряд.
Например, нужно найти минимальное основание системы счисления, в которой записано число 7832. Так как максимальная цифра равна 8, то минимальное значение q = 8 + 1 = 9.
Основанием системы счисления может быть, в принципе, любой число: целое, отрицательное, рациональное, иррациональное, комплексное и т.д. Будем рассматривать только положительные целые основания.
Особый интерес для нас будут представлять основание 2 и основания, являющиеся степенью двойки – 8 и 16.
В случае, если основание с. с. больше десяти, то новые цифры берутся по порядку из алфавита. Например, для 16-ричной системы это будут цифры 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.
Перевод целой части десятичной системы счисления
Первый способ перевода из десятичной системы счисления в n-ричную заключается в последовательном делении числа на новое основание.
12310 → X12
123/12 = 10 (3) 10/12 = 0 (10=A)
Собираем в обратном порядке, сначала последнее значение (это 0), потом сверху вниз все остатки. Получаем 0A3 = A3
456310 → X8
4563/8 = 570 (3) 570/8 = 71 (2) 71/8 = 8 (7) 8/8 = 1 (0)
Собираем обратно, получаем 10723
334910 → X16
3349/16 = 209 (5) 209/16 = 13 (1) 13/16 = 0 (13 = D)
Собираем вместе: 0D15 = D15
54510 → X2
545/2 = 272 (1) 272/2 = 136 (0) 136/2 = 68 (0) 68/2 = 34 (0) 34/2 = 17 (0) 17/2 = 8 (1) 8/2 = 4 (0) 4/2 = 2(0) 2/2 = 1 (0) 1/2 = 0(1)
Собираем 01000100001 = 1000100001
Перевод на бумаге обычно осуществляется делением в столбик. Пока деление не приведёт к нулю, каждый следующий ответ делится на основание с. с. В конце, из остатков от деления собирается ответ.

Также часто можно перевести число в другую с. с. , если в уме представить его как сумму степеней соответствующего основания, в которое мы хотим перевести число.
Например, 129 очевидно 128 + 1 = 27 + 1 = 100000012
80 = 81 - 1 = 34 - 1 = 10000 - 1 = 22223
Перевод в десятичную систему счисления целой части
Перевод осуществляется, используя представление числа в позиционной системе счисления. Пусть необходимо перевести A312 → X10 Известно, что A3 – это 3∙q0 + A∙q1, то есть 3*1 + A*12 = 3 + 120 = 123
107238 → X10
1∙q4 + 0∙q3 + 7∙q2 + 2∙q1 + 3∙q0 = 1∙84 + 0 + 7∙82 + 2∙8 + 3 = 1∙4096 + 7∙64 + 2∙8 + 3 = 4563
D1516 → X10
D∙162 + 1∙161+5∙160 = 13∙256 + 16 + 5 = 3349
10001000012 → X10
29 + 25 + 1 = 512 + 32 + 1 = 545.
Перевод на бумаге обычно осуществляется следующим образом. Над каждой цифрой по порядку пишут номер степени. Затем уже выписывают все слагаемые.
Перевод дробной части из десятичной системы
Во время перевода дробной части часто случается ситуация, когда конечная десятичная дробь превращается в бесконечную. Поэтому обычно при переводе указывается точность, с которой необходимо переводить. Перевод осуществляется путём последовательного умножения дробной части на основание системы счисления. Целая часть при этом откидывается и входит в состав дроби.
0.62510 → X2
0.625 * 2 = 1.250 (1) 0.25 * 2 = 0.5 (0) 0.5 * 2 = 1.0 (1)
0 – дальнейшее умножение будет давать только нули
Собираем сверху вниз, получаем 0.101
0.310 → X2 0.3 * 2 = 0.6 (0) 0.6 * 2 = 1.2 (1) 0.2 * 2 = 0.4 (0) 0.4 * 2 = 0.8 (0) 0.8 * 2 = 1.6 (1) 0.6 * 2 = 1.2 (1)
0.2 … получим периодическую дробь
Собираем, получаем 0.0100110011001… = 0.0(1001)
0.64510 → X5 0.645 * 5 = 3.225 (3) 0.255 * 5 = 1.275 (1) 0.275 * 5 = 1.375 (1) 0.375 * 5 = 1.875 (1) 0.875 * 5 = 4.375 (4) 0.375 * 5 = 1.875 (1) …
0.3111414… = 0.311(14)
Перевод дробной части в десятичную систему
Осуществляется аналогично переводу целой части, путём домножения цифры разряда на основание в степени, равной положению разряда в числе.
0.1012 → X10
1∙2-1 + 0∙2-2 + 1∙2-3 = 0.5 + 0.125 = 0.625
0.1345 → X10
1∙5-1 + 3∙5-2 +4∙5-3 = 0.2 + 3∙0.04 + 4∙0.008 = 0.2 + 0.12 + 0.032 = 0.352
Перевод из произвольной системы счисления в произвольную
Перевод из произвольной системы счисления в произвольную с. с. осуществляется с помощью десятичной с. с.
XN → XM ≡ XN → X10 → XM
Например
12212013 → X7
12212013 = 1∙36 + 2∙35 + 2∙34 + 1∙33 + 2∙32 + 1 = 729 + 2∙243 + 2∙81 + 27 + 9 + 1 = 141410
1414/7 = 202 (0) 202/7 = 28 (6) 28/7 = 4 (0) 4/7 = 0 (4)
40607
12212013 → 40607
Родственные системы счисления
Системы счисления называют родственными, когда их основания являются степенями одного числа. Например, 2, 4, 8, 16. Перевод между родственными системами счисления можно осуществлять, воспользовавшись таблицей
10 | 2 | 4 | 8 | 16 |
---|---|---|---|---|
0 | 0000 | 000 | 00 | 0 |
1 | 0001 | 001 | 01 | 1 |
2 | 0010 | 002 | 02 | 2 |
3 | 0011 | 003 | 03 | 3 |
4 | 0100 | 010 | 04 | 4 |
5 | 0101 | 011 | 05 | 5 |
6 | 0110 | 012 | 06 | 6 |
7 | 0111 | 013 | 07 | 7 |
8 | 1000 | 020 | 10 | 8 |
9 | 1001 | 021 | 11 | 9 |
10 | 1010 | 022 | 12 | A |
11 | 1011 | 023 | 13 | B |
12 | 1100 | 030 | 14 | C |
13 | 1101 | 031 | 15 | D |
14 | 1110 | 032 | 16 | E |
15 | 1111 | 033 | 17 | F |
Для перевода из одной родственной системы счисления в другую, сначала нужно перевести число в двоичную систему. Для перевода в двоичную систему счисления каждая цифра числа подменяется на соответствующую двойку (для четверичной), тройку (для восьмеричной) или четвёрку (для шестнадцатеричной).
Для 1234 единица подменяется на 01, двойка на 10, тройка нa 11, получаем 110112
Для 57218 соответственно 101, 111, 010, 001, итого 1011110100012
Для E1216 получим 1110000100102
Для перевода из двоичной системы следует разбить число на двойки (4-я), тройки (8-я) или четвёрки чисел (16-я), а затем подменить на соответствующие значения.
1101001012 = 01.10.10.01.01 = 122114
1101001012 = 110.100.101 = 6458
1101001012 = 0001.1010.0101 = 1A516
Переход из одной родственной системы в другую осуществляется транзитом через наименьшее основание, в нашем случае через двойку.
332324 → X16
332324 → 11111011102 → 0011.1110.1110 → 3EE16
Понятно, что все эти рассуждения применимы и для систем счисления 3, 9, 21, 81 и 5, 25, 125 и т.п.
