Перевод чисел в 16-ричную систему счисления
Как выполнить перевод в шестнадцатеричную систему счисления: метод деления на 16, быстрый перевод из двоичной, таблица цифр и пошаговые примеры.
Шестнадцатеричная (16-ричная) система счисления — один из самых практичных способов записи чисел в информатике и электронике. В ней всего 16 символов: цифры от 0 до 9 и латинские буквы A, B, C, D, E, F, обозначающие значения от 10 до 15. Это позволяет записывать большие числа короче, чем в десятичной, и идеально группировать байты компьютерной памяти. Разберём, как правильно выполнить перевод в 16-ричную систему счисления — от базового метода деления до быстрых приёмов для двоичных и восьмеричных чисел.
Цифры шестнадцатеричной системы
Прежде чем приступать к переводу, зафиксируйте соответствие десятичных значений и hex-символов:
| Десятичное | Шестнадцатеричное | Десятичное | Шестнадцатеричное |
|---|---|---|---|
| 0 | 0 | 8 | 8 |
| 1 | 1 | 9 | 9 |
| 2 | 2 | 10 | A |
| 3 | 3 | 11 | B |
| 4 | 4 | 12 | C |
| 5 | 5 | 13 | D |
| 6 | 6 | 14 | E |
| 7 | 7 | 15 | F |
Число 16 — основание системы. Каждый разряд числа весит в 16 раз больше предыдущего. Запись числа обычно снабжается нижним индексом: 255₁₀ = FF₁₆.
Метод 1: перевод десятичного числа в 16-ричную
Это основной способ, который используют при переводе в шестнадцатеричную систему. Он заключается в последовательном делении числа на 16 и записи остатков.
Алгоритм
- Разделите десятичное число на 16.
- Запишите остаток от деления.
- Возьмите частное (целую часть) и снова разделите на 16.
- Повторяйте, пока частное не станет равным нулю.
- Запишите остатки снизу вверх — от последнего к первому.
- Остатки от 10 до 15 замените соответствующими буквами A–F.
Пример: перевод 495 в шестнадцатеричную систему
| Шаг | Частное | Остаток | Hex-цифра |
|---|---|---|---|
| 495 ÷ 16 | 30 | 15 | F |
| 30 ÷ 16 | 1 | 14 | E |
| 1 ÷ 16 | 0 | 1 | 1 |
Читаем остатки снизу вверх: 495₁₀ = 1EF₁₆.
Пример: перевод 255
| Шаг | Частное | Остаток | Hex-цифра |
|---|---|---|---|
| 255 ÷ 16 | 15 | 15 | F |
| 15 ÷ 16 | 0 | 15 | F |
Результат: 255₁₀ = FF₁₆.
Метод 2: быстрый перевод из двоичной системы
Связь 16 = 2⁴ даёт эффективный приём: каждые четыре бита двоичного числа точно соответствуют одной шестнадцатеричной цифре. Для перевода в 16-ричную систему из двоичной не нужно переходить через десятичную.
Алгоритм
- Разделите двоичное число на группы по 4 бита справа налево.
- Если слева не хватает битов — дополните группу нулями.
- Замените каждую тетраду на соответствующий hex-символ.
Таблица тетрад
| Двоичная тетрада | HEX | Двоичная тетрада | HEX |
|---|---|---|---|
| 0000 | 0 | 1000 | 8 |
| 0001 | 1 | 1001 | 9 |
| 0010 | 2 | 1010 | A |
| 0011 | 3 | 1011 | B |
| 0100 | 4 | 1100 | C |
| 0101 | 5 | 1101 | D |
| 0110 | 6 | 1110 | E |
| 0111 | 7 | 1111 | F |
Пример
Переведём 10110111₂ в шестнадцатеричную систему:
10110111 → 1011 0111 → B 7 → B7₁₆
Пример с дополнением нулями
Число 1101₂ — всего 4 бита, но группировать нужно справа:
1101 → 1101 → D₁₆
А число 101₂ имеет только 3 бита — дополняем слева нулями:
101 → 0101 → 5₁₆
Метод 3: перевод из восьмеричной системы
Поскольку 8 = 2³ и 16 = 2⁴, обе системы связаны через двоичную. Самый быстрый путь — сначала раскрыть восьмеричную цифру в три бита, а затем перегруппировать биты по четыре.
Пример: перевод 537₈ в 16-ричную систему
- Раскрываем каждую восьмеричную цифру в три бита: 5 = 101, 3 = 011, 7 = 111 → 101011111₂
- Группируем по четыре бита справа налево: 1010 1111 1
- Дополняем последнюю группу: 1 1010 1111 1001 → нет, лучше перегруппировать корректно:
101011111₂ → 1 0101 1111 → дополняем: 0101 0111 11 → 0010 1011 1111
Проще сделать в два шага через десятичную: 537₈ = 5×64 + 3×8 + 7 = 351₁₀. Затем 351 ÷ 16 = 21 остаток 15 (F); 21 ÷ 16 = 1 остаток 5; 1 ÷ 16 = 0 остаток 1. Читаем снизу вверх: 537₈ = 15F₁₆.
Метод 4: перевод из любой другой системы
Для систем с основанием, не связанным с двойкой (пятеричная, седьмеричная, десятеричная и т. д.), универсальный путь состоит из двух этапов:
- Перевести в десятичную систему — разложить число по степеням основания и просуммировать.
- Перевести полученное десятичное число в 16-ричную — методом деления на 16.
Пример: 132₅ → десятичная → шестнадцатеричная
Шаг 1. Переводим в десятичную:
1 × 5² + 3 × 5¹ + 2 × 5⁰ = 25 + 15 + 2 = 42₁₀
Шаг 2. Переводим 42 в шестнадцатеричную:
42 ÷ 16 = 2, остаток 10 (A)
2 ÷ 16 = 0, остаток 2
Читаем снизу вверх: 132₅ → 42₁₀ → 2A₁₆.
Перевод дробных чисел в 16-ричную систему
Целая часть переводится делением на 16, как описано выше. Дробная часть переводится умножением на 16:
- Умножьте дробную часть на 16.
- Целая часть произведения — это следующая hex-цифра.
- Возьмите дробную часть произведения и повторите операцию.
- Остановитесь после нужного числа знаков или при появлении циклической дроби.
Пример: 0.625₁₀ → hex
| Шаг | Дробная часть × 16 | Целая часть | Hex-цифра |
|---|---|---|---|
| 1 | 0.625 × 16 = 10.0 | 10 | A |
| 2 | 0.0 × 16 = 0.0 | 0 | 0 |
Результат: 0.625₁₀ = 0.A₁₆.
Проверка результата
Есть два надёжных способа убедиться в правильности перевода в 16-ричную систему:
Обратный перевод. Умножайте каждую hex-цифру на 16 в соответствующей степени и складывайте:
1EF₁₆ = 1×16² + 14×16¹ + 15×16⁰ = 256 + 224 + 15 = 495₁₀ ✓
Проверка через двоичную. Расширьте каждую hex-цифру в тетраду битов, соберите двоичное число и переведите его в десятичное:
B7₁₆ → 1011 0111₂ → 128 + 32 + 16 + 4 + 2 + 1 = 183₁₀
Где применяется шестнадцатеричная система
| Область | Пример использования |
|---|---|
| HTML-кода цвета | #FF5733 — оранжевый |
| Адреса памяти | 0x7FFE1000 |
| MAC-адреса сетей | AA:BB:CC:DD:EE:FF |
| Права доступа в UNIX | chmod 755 (октальные, но тесно связаны с hex) |
| Отладочные логи | Дампы памяти в шестнадцатеричном виде |
| Кодировка символов | Юникод: U+0041 — буква «A» |
Шестнадцатеричная запись компактна: один байт (0–255) занимает всего две hex-цифры, в то время как двоичная — восемь символов. Именно поэтому перевод в 16 систему счисления стал стандартом для представления бинарных данных в человекочитаемом виде.
Частые вопросы
Что означает перевод в 16 систему счисления?
Перевод в 16 систему — это преобразование числа в шестнадцатеричную (hex) систему, где для записи используются цифры 0–9 и буквы A–F. Каждая буква обозначает значение от 10 до 15: A = 10, B = 11, C = 12, D = 13, E = 14, F = 15. Широко применяется в программировании и электронике.
Как перевести дробное число в шестнадцатеричную систему?
Целую часть переводят делением на 16, а дробную — последовательным умножением дробной части на 16. Записывают целые части каждого произведения до нужного количества знаков или до появления цикла. Результат разделяют точкой, как в десятичной записи.
Какие буквы используются в шестнадцатеричной системе счисления?
Используются шесть букв латинского алфавита: A, B, C, D, E, F. Они заменяют цифры от 10 до 15. Именно поэтому шестнадцатеричное число может содержать буквы — например, запись FF₁₆ равна 255 в десятичной системе.
Как быстро перевести двоичное число в шестнадцатеричную систему?
Разделите двоичную запись на группы по четыре бита справа налево и замените каждую группу шестнадцатеричной цифрой. Например, 10110111₂ группируется как 1011 0111 → B7₁₆. Метод работает, потому что 16 = 2⁴, поэтому каждая тетрада битов соответствует ровно одной hex-цифре.
Как проверить правильность перевода в 16-ричную систему?
Обратный перевод: каждую шестнадцатеричную цифру умножаем на 16 в соответствующей степени и суммируем. Если получилось исходное десятичное число — перевод верен. Другой способ: проверить, что число остатков от деления на 16 корректно читается снизу вверх без пропусков.
Где в реальной жизни применяется шестнадцатеричная система?
Шестнадцатеричная запись используется в адресах памяти, MAC-адресах, HTML-кодах цвета (например, #FF5733), правах доступа в UNIX, отладочных логах и байтовом представлении данных. Она компактнее двоичной и удобна для группировки байтов по четыре бита.