Правило четырёх битов
В шестнадцатеричной системе 16 символов: от 0 до 9 и от A до F, где A равно 10, а F — 15. Четырьмя двоичными битами можно представить числа от 0 до 15, поэтому каждой шестнадцатеричной цифре соответствует ровно одна группа из четырёх битов.
| Шестнадцатеричное | Двоичное | Шестнадцатеричное | Двоичное |
|---|---|---|---|
| 0 | 0000 | 8 | 1000 |
| 1 | 0001 | 9 | 1001 |
| 2 | 0010 | A | 1010 |
| 3 | 0011 | B | 1011 |
| 4 | 0100 | C | 1100 |
| 5 | 0101 | D | 1101 |
| 6 | 0110 | E | 1110 |
| 7 | 0111 | F | 1111 |
Разберём пример: 24D₁₆
- Разделите шестнадцатеричное число на цифры: 2, 4 и D.
- Найдите для каждой цифры четырёхбитную группу: 2 → 0010, 4 → 0100, D → 1101.
- Соедините группы в том же порядке: 24D₁₆ = 0010 0100 1101₂.
Для проверки: 24D₁₆ в десятичной системе равно 589, и 0010 0100 1101₂ тоже равно 589. Группы из четырёх битов упрощают проверку перевода.
Почему важны начальные нули
При переводе каждой цифры сохраняйте все четыре бита: в этом методе цифра 2 записывается как 0010, а не просто 10. Начальный ноль не меняет значение числа, но сохраняет соответствие каждой шестнадцатеричной цифры её четырёхбитной группе. Это важно при чтении байтов, битовых полей и значений фиксированной длины.
Например, 0A₁₆ превращается в 0000 1010₂. Если нужно только кратчайшее обычное двоичное представление, после соединения групп можно убрать нули в самом начале числа. Нули внутри группы удалять нельзя.
Переведите длинное число, не сбиваясь
- Читайте слева направо и заменяйте шестнадцатеричные цифры по одной.
- Оставляйте в каждой группе четыре бита, включая нули.
- Разделяйте группы пробелами для проверки. Убирайте пробелы только в том случае, если требуется одна непрерывная строка.
- Если перед числом стоит префикс, например 0x, удалите его перед вводом в конвертер, который ожидает только значение.
Для быстрой проверки используйте конвертер систем счисления UsefulVerse: он переводит целые числа из одной системы с основанием от 2 до 36 в другую прямо в браузере. Выберите шестнадцатеричную систему для ввода и двоичную для результата; значение останется на вашем устройстве.