bitlvl
RU

Конвертер из hex в двоичную

Введите hex-значение и посмотрите его биты, сгруппированные по четыре, чтобы каждый полубайт стоял под той hex-цифрой, из которой он получен.

Результаты и сообщения этого инструмента выводятся на английском языке.

Как работает перевод между системами счисления

Основание системы счисления — это количество цифр в ней. В десятичной их десять (0–9), в двоичной две (0 и 1), в восьмеричной восемь, в шестнадцатеричной шестнадцать (0–9, затем A–F). Значение записанного числа — это сумма каждой цифры, умноженной на основание в степени её позиции, считая с нуля справа.

Так, 1011 в двоичной системе — это 1×2³ + 0×2² + 1×2¹ + 1×2⁰ = 8 + 0 + 2 + 1 = 11, а FF в шестнадцатеричной — 15×16¹ + 15×16⁰ = 240 + 15 = 255.

Перевод из десятичной системы в другую

  1. Разделите число на основание целевой системы и запишите остаток.
  2. Снова разделите частное и продолжайте, пока частное не станет равно 0.
  3. Прочитайте остатки от последнего к первому. Это и есть число в новой системе счисления.

Для 11 → двоичная: 11 ÷ 2 = 5 ост. 1, 5 ÷ 2 = 2 ост. 1, 2 ÷ 2 = 1 ост. 0, 1 ÷ 2 = 0 ост. 1. Читаем снизу вверх: 1011. Конвертер выше выводит эти шаги для любого введённого числа.

Hex и двоичная запись — одно и то же в разном виде

Поскольку 16 = 2⁴, каждая шестнадцатеричная цифра — это ровно четыре двоичных разряда (полубайт, nibble). Чтобы перевести одно в другое, замените каждую hex-цифру её 4-битным шаблоном и наоборот. 0xBEEF = 1011 1110 1110 1111. Восьмеричная система работает так же с группами по три бита. Именно поэтому программисты предпочитают hex: это компактный способ записывать битовые шаблоны.

HexДвоичнаяDecHexДвоичнаяDec
000000810008
100011910019
200102A101010
300113B101111
401004C110012
501015D110113
601106E111014
701117F111115

Префиксы, которые встречаются в коде

Большинство языков обозначают систему счисления префиксом: 0x1F для hex, 0b11111 для двоичной, 0o37 (или ведущий 0 в C) для восьмеричной. Этот конвертер принимает все из них, а также игнорирует пробелы, подчёркивания и запятые, поэтому 1111_1111 и 1111 1111 работают одинаково.

Примеры

255 в двоичной, восьмеричной и hex
1111 1111 · 377 · FF
0xDEADBEEF в десятичной
3 735 928 559
1 000 000 в hex
0xF4240
−42 в hex
−2A (как знак и модуль; битовый шаблон в дополнительном коде даёт инструмент дополнительного кода)

Вопросы

Как перевести hex в двоичную систему?

Замените каждую hex-цифру её 4-битным шаблоном: 0 = 0000 … 9 = 1001, A = 1010, B = 1011, C = 1100, D = 1101, E = 1110, F = 1111. 0x2F превращается в 0010 1111.

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

Сгруппируйте биты по четыре справа (слева дополните нулями), затем замените каждую группу её hex-цифрой. 101111 → 0010 1111 → 2F.

Почему программисты используют шестнадцатеричную систему?

Одна hex-цифра — это ровно четыре бита, поэтому байт всегда записывается двумя hex-цифрами. Адреса памяти, коды цветов, хеши и битовые флаги легче читать и набирать в hex, чем как длинные двоичные строки, а соответствие битам остаётся очевидным.

Конвертер справляется с большими числами?

Да. Он использует целые числа произвольной точности, поэтому значения длиннее 64 бит (например, 256-битные хеши, записанные в десятичном виде) переводятся точно, без округления.

Мой ввод отправляется на сервер?

Нет. Перевод выполняется в вашем браузере. У сайта нет бэкенда, который получал бы ваши числа.