Перевод из шестнадцатеричной системы в десятичную и обратно
Конвертер переводит число из шестнадцатеричной записи в десятичную и обратно. Основания выставлены, буквы можно вводить в любом регистре - ответ появится сразу, под ним разбор по шагам.
Как перевести из шестнадцатеричной в десятичную
Разряды весят 1, 16, 256, 4096 и дальше по степеням шестнадцати. Каждую цифру умножают на вес её позиции, буквы заменяют числами: 2F5 это 2·162 + 15·161 + 5·160 = 512 + 240 + 5 = 757.
В уме считают иначе: слева направо, умножая накопленное на 16 и прибавляя очередную цифру. Для 2F5 это 2, затем 2·16 + 15 = 47, затем 47·16 + 5 = 757. Степени вспоминать не нужно.
Как перевести из десятичной в шестнадцатеричную
Обратный ход - деление с остатком на 16: 757 : 16 = 47, остаток 5; 47 : 16 = 2, остаток 15, то есть F; 2 : 16 = 0, остаток 2. Остатки читают снизу вверх и получают 2F5. Остатки от 10 до 15 сразу записывают буквами, иначе ответ выйдет с лишними разрядами.
Числу до 255 хватает одного деления: частное даёт старшую цифру, остаток - младшую. Для 200 это 200 : 16 = 12, остаток 8, а 12 записывается как C, поэтому ответ C8.
Буквы A-F и таблица соответствий
Цифр в шестнадцатеричной системе шестнадцать, а привычных знаков только десять, поэтому значения от 10 до 15 обозначают буквами. Один разряд hex закрывает четыре бита, два разряда - целый байт, отсюда предел FF, то есть 255.
| Десятичное | Hex | Десятичное | Hex |
|---|---|---|---|
| 10 | A | 16 | 10 |
| 11 | B | 26 | 1A |
| 12 | C | 100 | 64 |
| 13 | D | 128 | 80 |
| 14 | E | 255 | FF |
| 15 | F | 256 | 100 |
Быстрый способ через двоичную
Шестнадцать - это два в четвёртой степени, поэтому одна цифра hex ровно соответствует четырём двоичным разрядам. Число 2F5 разворачивается в 0010 1111 0101, а обратный переход делают разбивкой двоичной записи на четвёрки справа налево. Деление тут не нужно совсем: достаточно помнить шестнадцать сочетаний из таблицы выше.
Где встречается шестнадцатеричная запись
В вёрстке ей задают цвет: в записи #FF8800 первые два знака отвечают за красный канал, следующие два за зелёный, последние за синий - 255, 136 и 0. В работе программиста hex встречается в адресах памяти, кодах символов и дампах файлов: длинная цепочка бит в таком виде читается разрядами, а не поштучно.
Той же записью пользуются сетевые адреса и идентификаторы. MAC-адрес устройства - это шесть байт, записанных парами знаков через двоеточие, а идентификатор формата UUID состоит из 32 шестнадцатеричных цифр. Причина одна: байт умещается в две цифры, поэтому запись выходит вдвое короче двоичной и не теряет структуру.
Частые ошибки
- Буква прочитана как две цифры. A - это один разряд со значением 10, а не десятка и не пара знаков.
- Остаток 10 и больше записан цифрами. При делении на 16 такие остатки сразу заменяют буквами A-F.
- Остатки собраны сверху вниз. Читать их нужно от последнего к первому.
- Двоичная запись разбита на четвёрки слева. Группировать бит нужно справа налево, старшую группу дополняют нулями.
- Вес разряда взят как 10 и 100. Вторая позиция справа стоит 16, третья - 256.
Часто задаваемые вопросы
Это цифры от 10 до 15: A равно 10, B - 11, C - 12, D - 13, E - 14, F - 15. Регистр значения не имеет, ff и FF - одно число.
Префикс, которым в языках программирования помечают шестнадцатеричную запись: 0x1F это 31. В вёрстке ту же роль играет решётка перед кодом цвета.
Каждый канал - красный, зелёный, синий - принимает значения от 0 до 255, а это ровно две шестнадцатеричные цифры. Запись #FF8800 разбирается на 255, 136 и 0.
Заменить каждую цифру четвёркой бит: F это 1111, 8 это 1000. Обратно двоичную запись разбивают на четвёрки справа налево.
Нажмите «Поменять местами»: ответ встанет в поле ввода, а основания поменяются местами. Вернулось исходное число - расчёт верный.
Перевод между всеми четырьмя основаниями сразу собран в конвертере систем счисления.