Шпаргалка: системы счисления
Коротко, в 4 правила:
| Что нужно | Приём |
|---|---|
| Понять, сколько «стоит» число | развёрнутая запись: цифра × основание^позиция, всё сложить |
| Из 10-й в любую $p$ | делить на $p$ столбиком, остатки читать снизу вверх |
| Из любой в 10-ю | развёрнутая запись (или схема Горнера) |
| Двоичная ↔ 8-я и 16-я | триады (по 3 бита) и тетрады (по 4 бита) |
1. Развёрнутая запись числа
Число $a_na_{n-1}\dots a_1a_0{,}a_{-1}\dots$ в системе с основанием $p$ — это сумма:
$$a_n p^n + a_{n-1}p^{n-1} + \dots + a_1p^1 + a_0p^0 + a_{-1}p^{-1}+\dots$$
Главное: позиции считаются от запятой влево, начиная с нуля; «вес» разряда растёт в $p$ раз.
Примеры: $$2537_{10}=2\cdot10^3+5\cdot10^2+3\cdot10^1+7\cdot10^0$$ $$1011_2=1\cdot2^3+0\cdot2^2+1\cdot2^1+1\cdot2^0=8+0+2+1=11$$
2. Из 10-й в любую (деление с остатком)
Алгоритм:
- Делим число на $p$ нацело, записываем остаток (это младшая цифра).
- Делим полученное частное снова на $p$, снова остаток.
- Повторяем, пока частное не станет $0$.
- Выписываем остатки в обратном порядке — снизу вверх.
Пример: $156_{10}\to$ двоичную
| Делим | Частное | Остаток |
|---|---|---|
| 156 : 2 | 78 | 0 |
| 78 : 2 | 39 | 0 |
| 39 : 2 | 19 | 1 |
| 19 : 2 | 9 | 1 |
| 9 : 2 | 4 | 1 |
| 4 : 2 | 2 | 0 |
| 2 : 2 | 1 | 0 |
| 1 : 2 | 0 | 1 |
Снизу вверх: $156_{10}=10011100_2$.
Проверка: $128+16+8+4=156$ ✔
Пример: $156_{10}\to 8$-ю. $156:8=19$ (ост. 4), $19:8=2$ (ост. 3), $2:8=0$ (ост. 2) → $234_8$. Проверка: $2\cdot64+3\cdot8+4=128+24+4=156$ ✔
3. Из любой системы в 10-ю
Алгоритм: выписать развёрнутую запись и посчитать.
- $234_8=2\cdot8^2+3\cdot8^1+4\cdot8^0=128+24+4=156$
- $1101_2=8+4+0+1=13$
- $1A3_{16}=1\cdot16^2+10\cdot16^1+3=256+160+3=419$ (A = 10)
Схема Горнера (быстрее, без степеней): идём слева направо, каждый раз умножаем накопленное на основание и прибавляем цифру. $$234_8:\ (2\cdot8+3)\cdot8+4=19\cdot8+4=156$$
4. Триады и тетрады
Работают, потому что $8=2^3$ и $16=2^4$.
Таблица соответствия:
| 10-я | 2-я (тетрада) | 8-я (триада) | 16-я |
|---|---|---|---|
| 0 | 0000 | 0 | 0 |
| 1 | 0001 | 1 | 1 |
| 2 | 0010 | 2 | 2 |
| 3 | 0011 | 3 | 3 |
| 4 | 0100 | 4 | 4 |
| 5 | 0101 | 5 | 5 |
| 6 | 0110 | 6 | 6 |
| 7 | 0111 | 7 | 7 |
| 8 | 1000 | 10 | 8 |
| 9 | 1001 | 11 | 9 |
| 10 | 1010 | 12 | A |
| 11 | 1011 | 13 | B |
| 12 | 1100 | 14 | C |
| 13 | 1101 | 15 | D |
| 14 | 1110 | 16 | E |
| 15 | 1111 | 17 | F |
Правила:
- 8 → 2: каждая восьмеричная цифра → своя триада. $753_8\to 111,101,011_2$
- 16 → 2: каждая цифра → тетрада. $A5F_{16}\to 1010,0101,1111_2$
- 2 → 8: разбиваем справа налево по 3 бита, слева дополняем нулями. $1011101_2\to 001,011,101\to 135_8$ (проверка: $64+24+5=93=1011101_2$ ✔)
- 2 → 16: так же, но по 4 бита. $11001010_2\to 1100,1010\to CA_{16}$
- 10 → 8 или 16 удобнее через двоичную: $156_{10}=10011100_2\to 010,011,100\to 234_8$ — совпало с делением ✔
Частые ошибки
- остатки при делении читают сверху вниз (получается «перевёрнутое» число);
- при разбиении на триады/тетрады группируют слева направо вместо справа налево;
- забывают, что буквы A–F — это 10–15, и считают их «цифрами» в обычном смысле;
- в развёрнутой записи начинают степени с 1, а не с 0.
Мини-проверка на понимании: переведи $45_{10}$ в двоичную и обратно триадами в восьмеричную. Ответ: $101101_2$, $55_8$ — сходится $32+8+4+1=45$ и $5\cdot8+5=45$.
