Перевод из шестнадцатеричной системы в десятичную и обратно

Из системы:
Двоичная (2)
Восьмеричная (8)
Десятичная (10)
Шестнадцатеричная (16)
В систему:
Двоичная (2)
Восьмеричная (8)
Десятичная (10)
Шестнадцатеричная (16)

Конвертер переводит число из шестнадцатеричной записи в десятичную и обратно. Основания выставлены, буквы можно вводить в любом регистре - ответ появится сразу, под ним разбор по шагам.

Как перевести из шестнадцатеричной в десятичную

Разряды весят 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
10A1610
11B261A
12C10064
13D12880
14E255FF
15F256100

Быстрый способ через двоичную

Шестнадцать - это два в четвёртой степени, поэтому одна цифра hex ровно соответствует четырём двоичным разрядам. Число 2F5 разворачивается в 0010 1111 0101, а обратный переход делают разбивкой двоичной записи на четвёрки справа налево. Деление тут не нужно совсем: достаточно помнить шестнадцать сочетаний из таблицы выше.

Где встречается шестнадцатеричная запись

В вёрстке ей задают цвет: в записи #FF8800 первые два знака отвечают за красный канал, следующие два за зелёный, последние за синий - 255, 136 и 0. В работе программиста hex встречается в адресах памяти, кодах символов и дампах файлов: длинная цепочка бит в таком виде читается разрядами, а не поштучно.

Той же записью пользуются сетевые адреса и идентификаторы. MAC-адрес устройства - это шесть байт, записанных парами знаков через двоеточие, а идентификатор формата UUID состоит из 32 шестнадцатеричных цифр. Причина одна: байт умещается в две цифры, поэтому запись выходит вдвое короче двоичной и не теряет структуру.

Частые ошибки

  • Буква прочитана как две цифры. A - это один разряд со значением 10, а не десятка и не пара знаков.
  • Остаток 10 и больше записан цифрами. При делении на 16 такие остатки сразу заменяют буквами A-F.
  • Остатки собраны сверху вниз. Читать их нужно от последнего к первому.
  • Двоичная запись разбита на четвёрки слева. Группировать бит нужно справа налево, старшую группу дополняют нулями.
  • Вес разряда взят как 10 и 100. Вторая позиция справа стоит 16, третья - 256.

Часто задаваемые вопросы

Что означают буквы A, B, C, D, E, F?

Что значит 0x перед числом?

Почему цвет в вёрстке задают в hex?

Как перевести шестнадцатеричное число в двоичное?

Как проверить, что перевод верный?

Перевод между всеми четырьмя основаниями сразу собран в конвертере систем счисления.


Оставьте свою оценку:
Оценок пока нет — ваша будет первой.