Короткий ответ
В шестнадцатеричном формате (основание 16) используются цифры 0–9 и буквы A–F, где каждая позиция представляет степень 16. FF в шестнадцатеричном формате равно 15 × 16 + 15 = 255 в десятичном формате — максимальное значение, которое может содержать один байт. Программисты используют шестнадцатеричный код, потому что он четко преобразуется в двоичный код: одна шестнадцатеричная цифра всегда равна ровно 4 битам, поэтому две шестнадцатеричные цифры представляют полный байт.
Ключевые выводы
- Две шестнадцатеричные цифры равны одному байту (8 бит) — значению от 00 до FF (от 0 до 255), поэтому адреса памяти, значения байтов и цветовые коды почти всегда отображаются в шестнадцатеричном формате.
- Преобразование шестнадцатеричного числа в двоичное происходит механически: замените каждую шестнадцатеричную цифру ее 4-битным двоичным эквивалентом и соедините их вместе.
- Шестнадцатеричная арифметика следует той же логике переноса и заимствования, что и десятичная арифметика, только с основанием 16 вместо 10.
- Веб-цвета (#RRGGBB) упаковывают три байтовых значения — красный, зеленый, синий — в шесть шестнадцатеричных цифр, по две на цветовой канал.
Значения шестнадцатеричных цифр (0-F)
| Шестигранник | Десятичный | Шестигранник | Десятичный |
|---|---|---|---|
| A | 10 | D | 13 |
| B | 11 | E | 14 |
| C | 12 | F | 15 |
Преобразование десятичной дроби в шестнадцатеричную
202 ÷ 16 = 12 остаток 10 → А
12 ÷ 16 = остаток 0 12 → C
Прочтите остатки снизу вверх: CA
Таким образом, десятичное число 202 равно шестнадцатеричному CA. Проверка в обратном порядке: С×16 + А = 12×16 + 10 = 192 + 10 = 202 — подтверждение преобразования.
Рабочий пример: сложение шестнадцатеричных чисел
3А+1Ф
А(10)+Ж(15)=25=1х16+9 → пишем 9, переносим 1
3 + 1 + перенос 1 = 5
Результат: 59
Проверка в десятичном формате: 3A = 58, 1F = 31 и 58 + 31 = 89, что равно 5×16 + 9 = 0x59 — точно соответствует шестнадцатеричной арифметике. Единственное реальное отличие от десятичного сложения состоит в том, что перенос происходит, когда столбец достигает 16, а не 10.
Распространенные ошибки, которых следует избегать
- По привычке переносим 10 вместо 16 — шестнадцатеричный столбец переносится, как только его значение достигает 16, а не 10, как десятичное.
- Предположим, что одна шестнадцатеричная цифра равна одному биту — она всегда представляет 4 бита, поскольку 16 = 2⁴.
- Удаление начального нуля в байтовом или цветовом канале фиксированной ширины — 0x0A и 0xA — это одно и то же значение, но для отображения двухзначных байтов ожидается 0A, а не A.
- Непоследовательное смешение регистра цифр — шестнадцатеричное число нечувствительно к регистру (a = A = 10), но соблюдение одного регистра позволяет избежать визуальной путаницы в более длинных значениях.
Сопутствующие калькуляторы
- Бинарный калькулятор — работать непосредственно в базе 2 наряду с шестнадцатеричными преобразованиями.
- Калькулятор больших чисел — обрабатывать значения, выходящие за пределы стандартных диапазонов шестнадцатеричной арифметики.
- Калькулятор экспоненты — проверьте степень 16 за значением каждой шестнадцатеричной цифры.
- Базовый калькулятор — обрабатывать повседневную десятичную арифметику вне какой-либо конкретной базы.