Как перевести число из шестнадцатеричной системы счисления в двоичную
Шестнадцатеричная (HEX) и двоичная (BIN) системы счисления тесно связаны: поскольку 16 = 2⁴, каждая шестнадцатеричная цифра кодирует ровно четыре двоичных бита. Благодаря этому перевод между ними — прямой и быстрый процесс, не требующий промежуточного перехода через десятичную систему.
Ниже разобраны все способы перевода — от самого быстрого (по таблице) до универсального (через десятичную систему), с примерами и пояснениями.
Шестнадцатеричная и двоичная системы: краткая справка
Двоичная система (основание 2) использует всего две цифры — 0 и 1. Каждый такой разряд называется битом. Это язык, на котором работают все современные компьютеры.
Шестнадцатеричная система (основание 16) использует 16 цифр: 0–9 и буквы A–F. Она популярна в программировании, поскольку служит удобной «упаковкой» двоичных данных.
Соответствие шестнадцатеричных цифр и десятичных значений:
| HEX | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DEC | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
Способ 1: Прямая замена по таблице тетрад (самый быстрый)
Это основной способ перевода, который используется на практике. Каждая шестнадцатеричная цифра заменяется на соответствующую ей группу из четырёх двоичных цифр (тетраду, или ниббл):
| HEX | DEC | Двоичная тетрада |
|---|---|---|
| 0 | 0 | 0000 |
| 1 | 1 | 0001 |
| 2 | 2 | 0010 |
| 3 | 3 | 0011 |
| 4 | 4 | 0100 |
| 5 | 5 | 0101 |
| 6 | 6 | 0110 |
| 7 | 7 | 0111 |
| 8 | 8 | 1000 |
| 9 | 9 | 1001 |
| A | 10 | 1010 |
| B | 11 | 1011 |
| C | 12 | 1100 |
| D | 13 | 1101 |
| E | 14 | 1110 |
| F | 15 | 1111 |
Алгоритм
- Запишите шестнадцатеричное число.
- Замените каждую цифру (слева направо) на соответствующую тетраду из таблицы.
- Объедините результаты. Ведущие нули первой (самой левой) тетрады можно опустить.
Пример 1: перевод числа D8
| Цифра | D | 8 |
|---|---|---|
| Тетрада | 1101 | 1000 |
Результат: 11011000₂
Пример 2: перевод числа 3FA
| Цифра | 3 | F | A |
|---|---|---|---|
| Тетрада | 0011 | 1111 | 1010 |
Первая тетрада начинается с нулей — отбрасываем их. Результат: 1111111010₂
Пример 3: перевод числа 1F
| Цифра | 1 | F |
|---|---|---|
| Тетрада | 0001 | 1111 |
Отбрасываем ведущие нули. Результат: 11111₂
Совет: запомнить все 16 тетрад несложно — для двоичных чисел от 0 до 7 добавляется только одна ведущая 0, а для 8–F первой цифра всегда 1. Это сократит время перевода до нескольких секунд.
Способ 2: Через десятичную систему (универсальный)
Этот способ подходит, если вы забыли таблицу тетрад, но помните, как работает позиционная запись чисел.
Алгоритм
- Переведите шестнадцатеричное число в десятичное, используя формулу позиционной системы:
где — значение -й цифры (0–15), считая справа налево.
- Переведите полученное десятичное число в двоичное последовательным делением на 2 с записью остатков от конца к началу.
Пример: перевод числа 8E
Шаг 1. Перевод в десятичную:
Шаг 2. Перевод 142 в двоичную:
| Деление | Частное | Остаток |
|---|---|---|
| 142 ÷ 2 | 71 | 0 |
| 71 ÷ 2 | 35 | 1 |
| 35 ÷ 2 | 17 | 1 |
| 17 ÷ 2 | 8 | 1 |
| 8 ÷ 2 | 4 | 0 |
| 4 ÷ 2 | 2 | 0 |
| 2 ÷ 2 | 1 | 0 |
| 1 ÷ 2 | 0 | 1 |
Читаем остатки снизу вверх: 10001110₂
Проверка по таблице тетрад: 8 → 1000, E → 1110 → 10001110₂ ✓
Способ 3: Побитовый перевод каждой цифры (самый наглядный)
Этот способ похож на первый, но вместо таблицы каждая шестнадцатеричная цифра разбирается вручную через деление на 2. Подходит для тех, кто хочет понять механику изнутри.
Алгоритм
Для каждой шестнадцатеричной цифры:
- Замените букву на число (A=10, B=11, …, F=15).
- Разделите число на 2, записывая частное и остаток.
- Повторяйте с частным до нуля.
- Запишите остатки в обратном порядке (снизу вверх) — это тетрада.
- Дополните до 4 цифр нулями слева при необходимости.
Пример: цифра E (= 14)
| Деление | Частное | Остаток |
|---|---|---|
| 14 ÷ 2 | 7 | 0 |
| 7 ÷ 2 | 3 | 1 |
| 3 ÷ 2 | 1 | 1 |
| 1 ÷ 2 | 0 | 1 |
Остатки снизу вверх: 1110 — ровно 4 цифры, дополнение не нужно.
Сравнение трёх способов
| Критерий | Таблица тетрад | Через десятичную | Побитовый |
|---|---|---|---|
| Скорость | Мгновенно | Медленно | Средне |
| Нужна ли таблица | Да | Нет | Нет |
| Риск ошибки | Минимальный | Высокий | Средний |
| Для больших чисел | Удобно | Неудобно | Неудобно |
| Понимание процесса | Поверхностное | Глубокое | Глубокое |
Для повседневных задач и экзаменов используйте способ 1 — таблица тетрад. Для понимания принципов и проверки — способ 2 или 3.
Типичные ошибки при переводе
Забыли отбросить ведущие нули. Число 0A переводится как 0000 1010, но правильная запись — 1010. Первая тетрада из нулей не добавляет значения.
Перепутали порядок записи остатков. При способе 2 (через десятичную) остатки записываются снизу вверх (от последнего к первому). Частая ошибка — записать их в порядке делений сверху вниз.
Не дополнили тетраду до четырёх цифр. Если вы получили тетраду из менее чем 4 цифр (например, «10» вместо «0010»), нужно дополнить нулями слева. Иначе следующая тетрада «слипнется» с текущей, и результат будет неверным.
Смешали шестнадцатеричные буквы и десятичные цифры. B — это 11, а не 10+1=2. Каждая буква — однозначное значение: A=10, B=11, C=12, D=13, E=14, F=15.
Где используется перевод HEX → BIN
- Программирование: дампы памяти, шестнадцатеричные литералы в коде (
0xFF→11111111). - Сетевые настройки: маски подсетей, MAC-адреса, IPv6-адреса — все они записываются в HEX и часто требуют разбора на биты.
- Веб-дизайн: цвета формата
#RRGGBB— это три шестнадцатеричных числа (красный, зелёный, синий), каждое из которых кодируется 8 битами. - Криптография: хеш-суммы (SHA-256, MD5) выводятся в HEX-формате; при анализе их преобразуют в двоичный вид.
- Машинные инструкции: опкоды процессора часто отображаются в HEX, а для понимания архитектуры нужно видеть их двоичную структуру.
Быстрая шпаргалка
Чтобы не заглядывать в таблицу каждый раз, запомните закономерность: первый бит тетрады — это 8 (1 или 0), второй — 4, третий — 2, четвёртый — 1. Складывайте нужные числа:
- B = 11 = 8 + 2 + 1 → 1011
- D = 13 = 8 + 4 + 1 → 1101
Этот приём работает для любой цифры без заучивания таблицы.
Воспользуйтесь онлайн-конвертером выше, чтобы перевести шестнадцатеричное число в двоичное мгновенно — просто введите значение в поле ввода.