Шестнадцатеричная система счисления (hex) окружает нас повсюду, где есть компьютеры. Коды цветов в веб-дизайне (#FF0000 — красный), адреса памяти, MAC-адреса сетевых карт, Unicode символов — всё это записывается в hex. Для программистов, системных администраторов и веб-дизайнеров умение быстро переводить числа в шестнадцатеричный формат и обратно — необходимый рабочий навык. Но когда нужно срочно узнать, как будет выглядеть число 255 в hex, или перевести цвет фона из фотошопа в CSS-код, считать вручную по формулам долго и чревато ошибками.
Наш онлайн-калькулятор перевода в шестнадцатеричную систему счисления решает эту задачу мгновенно. Просто введите число в поле ввода, выберите исходную систему (десятичная, двоичная, восьмеричная или даже сама шестнадцатеричная) — и вы получите точный результат. Никаких делений в столбик, никаких таблиц умножения. Только быстрый и безошибочный переводчик чисел.
Что такое шестнадцатеричная система счисления
Шестнадцатеричная система счисления (или hex-система) — это позиционная система счисления по основанию 16 . Это означает, что каждый разряд числа может принимать одно из 16 значений. Для первых десяти значений (от 0 до 9) используются привычные арабские цифры, а для следующих шести (от 10 до 15) — латинские буквы:
- A = 10
- B = 11
- C = 12
- D = 13
- E = 14
- F = 15
Например, число A5 в шестнадцатеричной системе означает: A (10) × 16¹ + 5 × 16⁰ = 160 + 5 = 165 в десятичной системе.
Где применяется шестнадцатеричная система
Hex-формат стал стандартом в компьютерной технике благодаря тому, что одна шестнадцатеричная цифра идеально соответствует четырём двоичным разрядам (тетраде или нибблу) . Основные области применения:
- Веб-дизайн: запись цветов в формате RGB (например, #A52A2A — коричневый).
- Программирование: отладка кода, адресация памяти, машинные коды. Во многих языках hex-числа записываются с префиксом «0x» (например, 0x1A3) .
- Сети: MAC-адреса устройств (например, 00:1A:2B:3C:4D:5E).
- Кодировка символов: Unicode-коды символов записываются в шестнадцатеричном виде .
Как перевести число из десятичной системы в шестнадцатеричную
Для перевода целых чисел используется алгоритм последовательного деления на 16 .
-
Алгоритм:
- Разделите исходное число на 16. Запомните частное и остаток.
- Если частное не равно нулю, снова разделите его на 16 и снова запомните остаток.
- Повторяйте шаг 2 до тех пор, пока частное не станет равным 0.
- Запишите полученные остатки в обратном порядке (от последнего к первому) .
-
Пример: Переведём число 210 в шестнадцатеричную систему :
- 210 ÷ 16 = 13 (частное) и остаток 2.
- 13 ÷ 16 = 0 (частное) и остаток 13 (что соответствует цифре D).
- Записываем остатки в обратном порядке: сначала последний остаток (13 или D), затем первый остаток (2).
- Результат: D2₁₆ .
-
Пример с бо́льшим числом: Переведём 1234₁₀ в hex :
- 1234 ÷ 16 = 77 (частное), остаток 2.
- 77 ÷ 16 = 4 (частное), остаток 13 (D).
- 4 ÷ 16 = 0 (частное), остаток 4.
- Записываем остатки снизу вверх: 4, D, 2.
- Результат: 4D2₁₆
Как перевести дробное десятичное число в шестнадцатеричное
Числа, содержащие дробную часть, переводятся в два этапа: целая часть переводится делением, а дробная — последовательным умножением на 16 .
-
Алгоритм для дробной части:
- Умножьте дробную часть на 16. Целая часть результата будет первой цифрой после запятой в hex-числе.
- Оставшуюся дробную часть снова умножьте на 16. Новая целая часть — вторая цифра.
- Повторяйте до достижения нужной точности или пока дробная часть не станет равна нулю .
-
Пример: Переведём 0,7715₁₀ в шестнадцатеричную систему :
- 0,7715 × 16 = 12,344 (целая часть 12 → C)
- 0,344 × 16 = 5,504 (целая часть 5)
- 0,504 × 16 = 8,064 (целая часть 8)
- 0,064 × 16 = 1,024 (целая часть 1) Продолжая вычисления, получим: 0,7715₁₀ ≈ 0.C581...₁₆.
Обратный перевод: из шестнадцатеричной в десятичную
Для перевода из hex в десятичную систему используется формула разложения числа по степеням основания 16 :
Число₁₆ = (цифраₙ × 16ⁿ) + (цифраₙ₋₁ × 16ⁿ⁻¹) + ... + (цифра₁ × 16¹) + (цифра₀ × 16⁰)
- Пример: Переведём 1A3₁₆ в десятичную систему :
- Позиции разрядов справа налево: 0, 1, 2.
- 3 × 16⁰ = 3 × 1 = 3
- A (10) × 16¹ = 10 × 16 = 160
- 1 × 16² = 1 × 256 = 256
- Складываем: 256 + 160 + 3 = 419₁₀ .
Быстрый перевод между двоичной и шестнадцатеричной системами
Это самый полезный навык для IT-специалистов. Так как 16 = 2⁴, перевод осуществляется через группировку цифр .
-
Из двоичной в шестнадцатеричную:
- Разбейте двоичное число на группы по 4 цифры (тетрады) справа налево .
- Если в крайней левой группе меньше 4 цифр, дополните её нулями слева.
- Замените каждую группу соответствующей шестнадцатеричной цифрой .
Пример: 101100001000110010₂ переведём в hex :
- Разбиваем: 0010 1100 0010 0011 0010 (добавили нули слева для первой группы)
- Заменяем: 0010 (2), 1100 (C), 0010 (2), 0011 (3), 0010 (2)
- Результат: 2C232₁₆ (обратите внимание, что в примере 2.22 из источника получилось 541062₈ для восьмеричной системы, но для шестнадцатеричной принцип тот же).
-
Из шестнадцатеричной в двоичную:
- Замените каждую шестнадцатеричную цифру её двоичным представлением (всегда 4 бита, с ведущими нулями) .
Пример: AD34₁₆ переведём в двоичную систему :
- A → 1010, D → 1101, 3 → 0011, 4 → 0100.
- Результат: 1010110100110100₂
Таблица перевода для быстрого поиска
Для часто используемых чисел удобно пользоваться справочной таблицей :
| Десятичное | Двоичное | Шестнадцатеричное |
|---|---|---|
| 0 | 0000 | 0 |
| 1 | 0001 | 1 |
| 2 | 0010 | 2 |
| 3 | 0011 | 3 |
| 4 | 0100 | 4 |
| 5 | 0101 | 5 |
| 6 | 0110 | 6 |
| 7 | 0111 | 7 |
| 8 | 1000 | 8 |
| 9 | 1001 | 9 |
| 10 | 1010 | A |
| 11 | 1011 | B |
| 12 | 1100 | C |
| 13 | 1101 | D |
| 14 | 1110 | E |
| 15 | 1111 | F |
FAQ: Частые вопросы о переводе в шестнадцатеричную систему
Вопрос: Почему в шестнадцатеричной системе используются буквы A–F? Ответ: Потому что для цифр, обозначающих числа от 10 до 15, в десятичной системе нет отдельных символов. Чтобы записывать их одним знаком, а не двумя (10, 11...), исторически закрепилось использование первых шести букв латинского алфавита .
Вопрос: В чём разница между десятичной и шестнадцатеричной системой при счёте? Ответ: В десятичной системе после 9 идёт 10 (новый разряд). В шестнадцатеричной после 9 идут A, B, C, D, E, F, и только потом 10 (что соответствует 16 в десятичной системе). Таким образом, 10₁₆ = 16₁₀, 11₁₆ = 17₁₀ и так далее .
Вопрос: Как правильно записывать шестнадцатеричные числа в коде? Ответ: В разных языках программирования используются разные префиксы. Самый распространённый — префикс «0x» (например, 0x1A3) в языках семейства C (C++, Java, JavaScript, Python). В Паскале и некоторых ассемблерах используется префикс «$» ($1A3). В HTML и CSS шестнадцатеричные коды цветов записываются с символом «#» (#1A3) .
Вопрос: Как перевести число из шестнадцатеричной системы в восьмеричную? Ответ: Самый простой способ — сначала перевести hex-число в двоичную систему (заменой каждой цифры на тетраду), а затем полученное двоичное число перевести в восьмеричную, разбив его на группы по три бита (триады) справа налево .
Вопрос: Можно ли перевести отрицательное десятичное число в шестнадцатеричную систему? Ответ: Да, но для этого обычно используется представление чисел в дополнительном коде, особенно в компьютерных системах. Простым переводом отрицательных чисел обычный калькулятор перевода работает иначе: он сначала берёт модуль числа, переводит его, а затем добавляет знак минус перед результатом. Для точного представления в машинном коде требуются более сложные алгоритмы.
Заключение
Умение работать с шестнадцатеричной системой счисления — базовый навык для любого, кто связан с IT и веб-технологиями. Понимание того, как связаны двоичные, десятичные и hex-числа, открывает путь к глубокому пониманию работы компьютеров. Но когда скорость и точность важнее, чем учебные упражнения, на помощь приходит автоматизация.
Используйте наш онлайн-калькулятор перевода в шестнадцатеричную систему счисления, чтобы мгновенно переводить числа между десятичной, двоичной, восьмеричной и шестнадцатеричной системами. Инструмент полностью бесплатный, работает на всех устройствах и выдаёт результат за доли секунды. Введите число, выберите систему — и забудьте о ручных расчётах.