Шестнадцатеричная в десятичную
Шестнадцатеричная система счисления – позиционная система с основанием 16, широко используемая в программировании и информатике. Перевод шестнадцатеричных чисел в десятичные необходим для работы с адресами памяти, цветовыми кодами и отладки программ.
Результат перевода
Пошаговое решение
Примечание: Результаты предназначены для образовательных целей. При работе с критичными системами рекомендуется дополнительная проверка.
Как пользоваться калькулятором
- Введите шестнадцатеричное число в поле ввода (например, 1A3F, FF, 2C)
- Калькулятор автоматически выполнит преобразование
- Получите результат в десятичной системе с подробным расчетом
- Для нового расчета просто введите другое значение
Допустимые символы: 0-9, A-F (регистр не имеет значения). Префиксы 0x и # игнорируются автоматически.
Как переводить шестнадцатеричные числа в десятичные
Принцип позиционной системы
В шестнадцатеричной системе каждая позиция представляет степень числа 16. Позиции нумеруются справа налево, начиная с 0:
| Позиция | 3 | 2 | 1 | 0 |
|---|---|---|---|---|
| Степень | 16³ | 16² | 16¹ | 16⁰ |
| Значение | 4096 | 256 | 16 | 1 |
Соответствие символов
| Hex | Dec | Hex | Dec |
|---|---|---|---|
| 0 | 0 | 8 | 8 |
| 1 | 1 | 9 | 9 |
| 2 | 2 | A | 10 |
| 3 | 3 | B | 11 |
| 4 | 4 | C | 12 |
| 5 | 5 | D | 13 |
| 6 | 6 | E | 14 |
| 7 | 7 | F | 15 |
Алгоритм перевода
Формула: Умножить каждую цифру на 16 в степени её позиции и сложить результаты.
Десятичное = d₍ₙ₋₁₎×16⁽ⁿ⁻¹⁾ + ... + d₂×16² + d₁×16¹ + d₀×16⁰
где d – десятичное значение символа, n – количество разрядов.
Примеры перевода
Пример 1: Простое число (2F)
Шаг 1: Определяем позиции справа налево
- F (позиция 0)
- 2 (позиция 1)
Шаг 2: Заменяем буквы на числа
- F = 15
- 2 = 2
Шаг 3: Вычисляем
2F₁₆ = 2×16¹ + 15×16⁰
= 2×16 + 15×1
= 32 + 15
= 47₁₀
Ответ: 2F₁₆ = 47₁₀
Пример 2: Цветовой код (FF00AB)
Разбивка по позициям:
FF00AB₁₆ = F×16⁵ + F×16⁴ + 0×16³ + 0×16² + A×16¹ + B×16⁰
Подстановка значений:
= 15×1048576 + 15×65536 + 0×4096 + 0×256 + 10×16 + 11×1
= 15728640 + 983040 + 0 + 0 + 160 + 11
= 16711851₁₀
Ответ: FF00AB₁₆ = 16711851₁₀
Пример 3: Адрес памяти (1A3C)
1A3C₁₆ = 1×16³ + 10×16² + 3×16¹ + 12×16⁰
= 1×4096 + 10×256 + 3×16 + 12×1
= 4096 + 2560 + 48 + 12
= 6716₁₀
Ответ: 1A3C₁₆ = 6716₁₀
Пример 4: Максимальное значение байта (FF)
FF₁₆ = 15×16¹ + 15×16⁰
= 15×16 + 15×1
= 240 + 15
= 255₁₀
Ответ: FF₁₆ = 255₁₀
Важно: Один байт (8 бит) может принимать значения от 00₁₆ до FF₁₆, что соответствует диапазону 0-255 в десятичной системе.
Ключевые понятия
Шестнадцатеричная система (HEX) – позиционная система счисления с основанием 16, использующая символы 0-9 и A-F.
Десятичная система (DEC) – привычная нам система с основанием 10, использующая цифры 0-9.
Позиция (разряд) – место, которое занимает цифра в числе. Влияет на вес цифры через степень основания.
Префикс 0x – обозначение шестнадцатеричного числа в языках программирования (например, 0x2F).
Символ решетки # – префикс для цветовых кодов в веб-разработке (например, #FF5733).
Практическое применение
Веб-разработка: цветовые коды
HTML-цвета записываются в формате #RRGGBB, где каждая пара – интенсивность цвета от 00 до FF:
#FF0000 → Red: FF=255, Green: 00=0, Blue: 00=0
#00FF00 → Red: 00=0, Green: FF=255, Blue: 00=0
#0000FF → Red: 00=0, Green: 00=0, Blue: FF=255
Программирование: адреса памяти
Адрес: 0x7FFF5FBFF8E0
Десятичное: 140734799804640
Отладка: машинные коды
Команда: 0xB8 0x01 0x00 0x00 0x00
Значения: 184, 1, 0, 0, 0
Типичные ошибки при переводе
Ошибка 1: Неправильная нумерация позиций
✗ Неверно: Нумеровать позиции с 1
2F: 2×16² + 15×16¹ = 512 + 240 = 752 (ОШИБКА)
✓ Правильно: Нумеровать с 0
2F: 2×16¹ + 15×16⁰ = 32 + 15 = 47
Ошибка 2: Путаница со значениями букв
✗ Неверно: Использовать порядковый номер буквы в алфавите
B = 2 (вторая буква алфавита) – ОШИБКА
✓ Правильно: Использовать стандартное соответствие
B = 11 (десятичное значение)
Ошибка 3: Игнорирование регистра, где он важен
В большинстве случаев регистр не важен (A = a), но в некоторых контекстах (например, Base64) это критично. При переводе систем счисления регистр не имеет значения.
Ошибка 4: Неправильный порядок разрядов
✗ Неверно: Читать слева направо
2F: 15×16¹ + 2×16⁰ = 240 + 2 = 242 (ОШИБКА)
✓ Правильно: Правая цифра – младший разряд
2F: 2×16¹ + 15×16⁰ = 32 + 15 = 47
Таблица быстрого перевода
Часто используемые значения:
| HEX | DEC | Примечание |
|---|---|---|
| 0 | 0 | Минимум |
| 1 | 1 | |
| 10 | 16 | Основание системы |
| 20 | 32 | |
| 64 | 100 | |
| FF | 255 | Максимум байта |
| 100 | 256 | |
| FFF | 4095 | 12-битный цвет |
| FFFF | 65535 | Максимум 2 байт |
| FFFFFF | 16777215 | 24-битный цвет |
Проверка результата
Для проверки правильности перевода можно использовать обратное преобразование:
- Полученное десятичное число делим на 16
- Остаток – младший разряд hex
- Частное делим на 16 снова
- Повторяем до частного = 0
Пример проверки для 47₁₀:
47 ÷ 16 = 2 (остаток 15 = F)
2 ÷ 16 = 0 (остаток 2)
Читаем остатки снизу вверх: 2F ✓
Советы для работы
- Используйте таблицу соответствия для букв A-F при ручном расчете
- Начинайте с правой цифры (младший разряд) и двигайтесь влево
- Проверяйте результат обратным переводом или калькулятором
- Для больших чисел используйте калькулятор – вероятность ошибки возрастает
- Запомните ключевые значения: FF=255, FFFF=65535 для быстрой оценки
Дисклеймер: Калькулятор предназначен для образовательных и практических целей. При работе с критичными системами рекомендуется дополнительная проверка результатов.
Часто задаваемые вопросы
Как перевести шестнадцатеричное число в десятичное?
Умножьте каждую цифру на 16 в степени её позиции справа налево (начиная с 0), затем сложите результаты. Например, 2F₁₆ = 2×16¹ + 15×16⁰ = 32 + 15 = 47₁₀.
Какие символы используются в шестнадцатеричной системе?
Цифры 0-9 и буквы A-F (или a-f), где A=10, B=11, C=12, D=13, E=14, F=15. Всего 16 символов, отсюда название системы.
Где применяется шестнадцатеричная система счисления?
В программировании для обозначения адресов памяти, цветовых кодов (HTML/CSS), машинных кодов, MAC-адресов и других компьютерных данных для компактной записи.
Чем отличается запись 0x от обычной шестнадцатеричной?
Префикс 0x (или #) – стандартное обозначение в программировании. Например, 0x2F и 2F₁₆ обозначают одно и то же число, просто в разной нотации.