bitlvl
RU

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

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

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

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

Основание системы счисления — это количество цифр в ней. В десятичной их десять (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 в десятичную систему?

Умножьте каждую цифру на 16 в степени её позиции (справа, начиная с 0) и сложите. A–F считаются как 10–15. 0x1F = 1×16 + 15 = 31.

Сколько будет 0xFF в десятичной системе?

0xFF — это 255: 15×16 + 15. Это наибольшее значение одного байта.

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

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

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

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

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

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