Как конвертировать системы счисления
Пошаговое руководство по преобразованию
Изучить преобразованияПреобразование между системами счисления — это фундаментальный навык в вычислительной технике. Работаете ли вы с двоичной, шестнадцатеричной, восьмеричной или десятичной системой, методы систематичны и легко осваиваются. Данное руководство пошагово разбирает каждое преобразование с наглядными примерами.
Из десятичной в двоичную
Метод: последовательное деление на 2
- Разделите число на 2
- Запишите остаток (0 или 1)
- Разделите частное на 2
- Повторяйте, пока частное не станет равным 0
- Прочитайте остатки снизу вверх
Пример: Перевод 156 в двоичную
| Деление | Частное | Остаток |
|---|---|---|
| 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₁₀ = 10011100₂
Из двоичной в десятичную
Метод: позиционные значения
- Запишите значения позиций (степени двойки) под каждой цифрой
- Умножьте каждую цифру на её позиционное значение
- Сложите все произведения
Пример: Перевод 10011100 в десятичную
| Двоичная цифра | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 0 |
|---|---|---|---|---|---|---|---|---|
| Значение позиции | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
| Произведение | 128 | 0 | 0 | 16 | 8 | 4 | 0 | 0 |
Сумма: 128 + 16 + 8 + 4 = 156₁₀
Из десятичной в шестнадцатеричную
Метод: последовательное деление на 16
- Делите на 16, записывайте остаток
- Преобразуйте остатки 10–15 в A–F
- Прочитайте остатки снизу вверх
Пример: Перевод 748 в шестнадцатеричную
| Деление | Частное | Остаток | HEX-цифра |
|---|---|---|---|
| 748 ÷ 16 | 46 | 12 | C |
| 46 ÷ 16 | 2 | 14 | E |
| 2 ÷ 16 | 0 | 2 | 2 |
Чтение снизу вверх: 748₁₀ = 2EC₁₆
Из шестнадцатеричной в десятичную
Метод: позиционные значения
- Преобразуйте A–F в 10–15
- Умножьте каждую цифру на её позиционное значение (степени 16)
- Сложите все произведения
Пример: Перевод 2EC в десятичную
- 2 × 16² = 2 × 256 = 512
- E (14) × 16¹ = 14 × 16 = 224
- C (12) × 16⁰ = 12 × 1 = 12
Сумма: 512 + 224 + 12 = 748₁₀
Из двоичной в шестнадцатеричную
Метод: группировка и преобразование
- Сгруппируйте двоичные цифры по 4 (справа налево)
- При необходимости дополните нулями слева
- Преобразуйте каждую группу в HEX-цифру
Пример: Перевод 10011100 в шестнадцатеричную
- Группы: 1001 | 1100
- 1001 = 9
- 1100 = C
Результат: 10011100₂ = 9C₁₆
Из шестнадцатеричной в двоичную
Метод: раскрытие каждой цифры
- Преобразуйте каждую HEX-цифру в 4 двоичных разряда
- Объедините результаты
Пример: Перевод A7F в двоичную
- A = 1010
- 7 = 0111
- F = 1111
Результат: A7F₁₆ = 101001111111₂
Восьмеричные преобразования
Из двоичной в восьмеричную
Сгруппируйте двоичные цифры по 3 (справа налево):
- 110 101 011 (дополните: 0 110 101 011)
- 110 = 6, 101 = 5, 011 = 3
- Результат: 653₈
Из восьмеричной в двоичную
Преобразуйте каждую восьмеричную цифру в 3 двоичных разряда:
- 653₈
- 6 = 110, 5 = 101, 3 = 011
- Результат: 110101011₂
Из десятичной в восьмеричную
Последовательно делите на 8, читайте остатки снизу вверх.
Из любой системы в любую
Общий метод
- Преобразуйте исходное число в десятичное (промежуточный шаг)
- Преобразуйте десятичное число в целевую систему
Пример: Перевод 3A₁₆ в восьмеричную
Шаг 1: Из шестнадцатеричной в десятичную
- 3 × 16 + 10 × 1 = 48 + 10 = 58₁₀
Шаг 2: Из десятичной в восьмеричную
- 58 ÷ 8 = 7 остаток 2
- 7 ÷ 8 = 0 остаток 7
- Результат: 72₈
3A₁₆ = 72₈
Краткая справочная таблица
| Преобразование | Метод |
|---|---|
| Десятичная → Двоичная | Делите на 2, читайте остатки в обратном порядке |
| Двоичная → Десятичная | Сумма (цифра × степень двойки) |
| Десятичная → HEX | Делите на 16, читайте остатки в обратном порядке |
| HEX → Десятичная | Сумма (цифра × степень 16) |
| Двоичная → HEX | Группируйте по 4, преобразуйте каждую группу |
| HEX → Двоичная | Раскройте каждую цифру в 4 бита |
| Двоичная → Восьмеричная | Группируйте по 3, преобразуйте каждую группу |
| Восьмеричная → Двоичная | Раскройте каждую цифру в 3 бита |
Заключение
Преобразование между системами счисления следует систематическим методам: деление — для перевода из десятичной в другие системы, позиционное умножение — для перевода в десятичную, и быстрые приёмы группировки — для преобразований между двоичной, шестнадцатеричной и восьмеричной системами. С практикой эти преобразования становятся привычными. Приём с быстрым переводом двоичное-шестнадцатеричное (4 бита на HEX-цифру) особенно ценен в контексте программирования и вычислительной техники.