Шестнадцатеричный калькулятор
Складывайте, вычитайте, умножайте и делите шестнадцатеричные числа, переводите в десятичную и двоичную системы и читайте RGB-коды. Шестнадцатеричный калькулятор показывает каждый перенос в base 16.
Результаты обновляются при вводе. Ctrl/Cmd+Enter копирует основной результат.
Результат
—
Просмотр битов
Показать решение
Шестнадцатеричный калькулятор складывает, вычитает, умножает и делит шестнадцатеричные значения, переводит между hex, десятичной и двоичной системами и форматирует результаты с необязательным префиксом 0x. Цифры от 0 до 9 и от A до F, где A равно 10, а F равно 15. Разобранная арифметика использует те же правила переноса и заёма, что и десятичная, с порогом 16 вместо 10, чтобы цветовые каналы и адреса памяти можно было проверить без отдельного черновика.
Все расчёты выполняются в браузере. Ничего из введённого не отправляется на сервер.
Сложение, вычитание, умножение и деление шестнадцатеричных чисел
Шестнадцатеричная арифметика это столбцовая математика в base 16 с цифрами от 0 до 9 и от A до F. Введите две hex-строки, выберите операцию, и Шестнадцатеричный калькулятор вернёт hex-результат с десятичным подтверждением рядом. Буквенные цифры можно вводить в любом регистре; вывод нормализуется к верхнему регистру, если переключатель стиля не задаёт иное.
Перенос срабатывает, когда столбец достигает 16 или больше. Заём берёт 16 у следующей старшей цифры. Умножение и деление используют ту же длинную схему, что и десятичная система, с промежуточными произведениями из таблицы умножения hex. Цифры вне диапазона 0-9 и A-F отклоняются до начала операции.
Преобразование шестнадцатеричного числа в десятичное
Позиционное разложение умножает каждую hex-цифру на степень 16. Крайний правый разряд это 16⁰ (единицы), затем 16¹ (шестнадцатки), 16² (256), 16³ (4096) и выше по необходимости. Буквенные цифры сначала переводятся в десятичные значения: A=10, B=11, C=12, D=13, E=14, F=15.
Для 2F:
2 F
│ └─ 15 × 16⁰ = 15
└─── 2 × 16¹ = 32
= 47
FF это 15×16 + 15 = 255, максимальное беззнаковое 8-битное значение и знакомый полный канал в RGB-тriple. Калькулятор печатает разложение для каждого преобразования, чтобы ошибка в букве была замечена рано.
Преобразование десятичного числа в шестнадцатеричное
Повторное деление на 16 даёт hex-цифры как остатки. Разделите десятичное значение на 16, запишите остаток и продолжайте с частным, пока оно не станет нулём. Остатки от 10 до 15 становятся буквенными цифрами A-F. Чтение остатков с конца к началу даёт hex-строку, которую Шестнадцатеричный калькулятор также печатает для проверки.
Для десятичного 47:
| Шаг | Частное | Остаток |
|---|---|---|
| 47 ÷ 16 | 2 | 15 (F) |
| 2 ÷ 16 | 0 | 2 |
Чтение снизу вверх даёт 2F. Большие целые следуют тому же циклу; растёт только число шагов. Цикл десятичное → hex → обратно через калькулятор это быстрая проверка здравого смысла перед вставкой значения в отладчик или поле CSS-цвета.
Сложение 8AB и B78 в hex
Сложение 8AB и B78 это рабочий пример hex-сложения по столбцам с переносами через буквенные цифры. В десятичной системе 0x8AB равно 2219, а 0xB78 равно 2936. Их сумма 5155, что записывается как 1423 в hex. Каждый столбец, достигший 16 или больше, записывает перенос 1 в следующий старший разряд, как десятичный перенос при десяти.
1 1 переносы (десятичные)
8 A B 2219
+ B 7 8 2936
-------
1 4 2 3 5155
Крайний правый столбец: B + 8 = 11 + 8 = 19 десятичных = 13 hex, пишем 3, перенос 1. Средний столбец: A + 7 + перенос 1 = 10 + 7 + 1 = 18 десятичных = 12 hex, пишем 2, перенос 1. Левый столбец: 8 + B + перенос 1 = 8 + 11 + 1 = 20 десятичных = 14 hex. Пишем 4, оставшийся перенос записывает ведущую 1.
Результат 1423 соответствует 1×4096 + 4×256 + 2×16 + 3 = 5155. Шестнадцатеричный калькулятор показывает этот вид переносов для каждого сложения, чтобы ручная проверка и инструмент совпали.
Вычитание с заёмом в hex
Hex-вычитание занимает 16 десятичных, одну полную шестнадцатку, когда цифра меньше цифры под ней. Дающий разряд на ступень выше уменьшается на 1, а текущая цифра получает 16 перед вычитанием. Пример 5DC минус 3AF демонстрирует чистый положительный результат 22D с одним применением правила заёма в младшем столбце.
5 D C 1500 десятичных
- 3 A F 943 десятичных
-------
2 2 D 557 десятичных
Справа: C (12) минус F (15) невозможно, занимаем у D. Младшая цифра становится 12 + 16 = 28, D падает до C. Затем 28 − 15 = 13, это D. Середина: C (после займа) минус A это 12 − 10 = 2. Слева: 5 − 3 = 2.
Разность 22D. Когда вычитаемое больше и задана ширина в битах, калькулятор может сообщить результат в стиле дополнительного кода с обёрткой для фиксированных регистров; неограниченный режим сохраняет знаковую величину без выдуманного размера регистра.
Прямое преобразование между hex и двоичной системой
Каждая hex-цифра соответствует ровно четырём битам, одному нибблу, без остатка. Это фиксированное соответствие делает hex-дампы компактными, а RGB-пару вроде FF восемью единицами в двоичном виде. Развёртывание или сжатие между двумя основаниями требует только таблицы нибблов, и Шестнадцатеричный калькулятор выполняет оба направления для любой допустимой строки.
| Hex | Двоичное | Десятичное |
|---|---|---|
| 0 | 0000 | 0 |
| 1 | 0001 | 1 |
| 7 | 0111 | 7 |
| 8 | 1000 | 8 |
| A | 1010 | 10 |
| F | 1111 | 15 |
2F становится 0010 1111. FF становится 1111 1111. Развёртывание байта как двух hex-цифр или сжатие восьми бит в две hex-цифры не требует арифметики сверх таблицы. Шестнадцатеричный калькулятор выполняет это отображение в обе стороны; обучение разрядам и побитовым операциям живёт на странице Двоичного калькулятора, чтобы два инструмента не повторяли друг друга.
Чтение hex-кодов цветов
CSS и дизайнерские инструменты записывают цвета как #RRGGBB, где каждая пара это 8-битный канал от 00 (0) до FF (255). #FF5733 означает красный 255, зелёный 87, синий 51. Необязательный альфа-канал добавляет четвёртую пару (#RRGGBBAA) для непрозрачности, всё ещё в шкале 00-FF.
| Код | Красный | Зелёный | Синий |
|---|---|---|---|
| #000000 | 0 | 0 | 0 |
| #FFFFFF | 255 | 255 | 255 |
| #FF0000 | 255 | 0 | 0 |
| #00FF00 | 0 | 255 | 0 |
| #0000FF | 0 | 0 | 255 |
| #FF5733 | 255 | 87 | 51 |
Смешивание каналов это обычная hex-арифметика для каждой пары независимо. Осветление канала значит сложение к FF; затемнение значит вычитание к 00. Калькулятор принимает голый hex или строки с префиксом # при переводе каналов в десятичные для сравнения со спецификацией палитры.
Чтение адресов памяти и байтовых значений
Отладчики и среды выполнения печатают указатели и машинные значения в hex с префиксом 0x: 0x7FFE короче десятичного эквивалента и выравнивается по границам байтов. Дамп памяти обычно сетка байтов по две hex-цифры каждый. Слова (16 бит), двойные слова (32 бита) и четверные слова (64 бита) это группы этих байтов.
Порядок байтов (endianness) определяет порядок байтов внутри многобайтового слова. Little-endian хранит младший байт по младшему адресу; big-endian хранит старший байт первым. Чтение 0x1234 из памяти как байты 34 12 это little-endian. Путаница порядка даёт адреса и целые, которые выглядят правдоподобно, пока не сравнишь с видом регистра. Шестнадцатеричный калькулятор переводит числовое значение; интерпретация дампа всё ещё требует знания endianness цели.
Таблица умножения в шестнадцатеричной системе
Произведения однозначных hex-цифр достаточно малы, чтобы запомнить для ручной арифметики и длинного умножения. Строки и столбцы от 1 до F, каждая ячейка содержит произведение в hex. Поиск A × B или F × F убирает необходимость переводить в десятичную систему посреди шага при ручном умножении многозначных hex-значений.
| × | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2 | 2 | 4 | 6 | 8 | A | C | E | 10 | 12 | 14 | 16 | 18 | 1A | 1C | 1E |
| 4 | 4 | 8 | C | 10 | 14 | 18 | 1C | 20 | 24 | 28 | 2C | 30 | 34 | 38 | 3C |
| 8 | 8 | 10 | 18 | 20 | 28 | 30 | 38 | 40 | 48 | 50 | 58 | 60 | 68 | 70 | 78 |
| A | A | 14 | 1E | 28 | 32 | 3C | 46 | 50 | 5A | 64 | 6E | 78 | 82 | 8C | 96 |
| F | F | 1E | 2D | 3C | 4B | 5A | 69 | 78 | 87 | 96 | A5 | B4 | C3 | D2 | E1 |
F × F = E1, потому что 15 × 15 = 225, а 225 = 14×16 + 1. Длинное умножение многозначных hex-чисел строится из этих одноразрядных произведений плюс hex-сложение сдвинутых частичных сумм. Калькулятор выполняет эту работу автоматически и всё ещё показывает десятичную проверку.
Часто задаваемые вопросы
Какие цифры использует шестнадцатеричная система?
Шестнадцатеричная система использует 0-9 и A-F. A означает 10, B 11, C 12, D 13, E 14 и F 15. Каждая цифра это один разряд в base 16, поэтому 10 в hex это шестнадцать в десятичной, а не десять.
Как перевести hex в десятичное?
Умножьте каждую цифру на её степень 16 и сложите. Крайняя правая цифра стоит 1, следующая 16, затем 256, затем 4096. Буквенные цифры сначала переводят в 10-15. 2F это 2×16 + 15 = 47.
Почему программисты предпочитают hex десятичной для байтов?
Одна hex-цифра это ровно четыре бита, две hex-цифры ровно один байт. Это выравнивание делает маски, цветовые каналы и дампы памяти читаемыми без перевода каждого бита. Десятичные значения скрывают эти границы.
Что означает префикс 0x?
Префикс 0x это соглашение записи, распространённое в C и родственных языках, помечающее следующие цифры как шестнадцатеричные. 0xFF и FF это одно значение для калькулятора; префикс необязателен на входе и доступен на выходе для вставки в код.
Как hex связан с RGB-кодами цветов?
Цвет #RRGGBB хранит каждый канал как две hex-цифры от 00 до FF. #FF5733 это красный 255, зелёный 87, синий 51. Альфа, если есть, это четвёртая пара в том же диапазоне.
Что такое порядок байтов (endianness)?
Порядок байтов это порядок хранения многобайтового значения в памяти. Little-endian кладёт младший байт по младшему адресу; big-endian кладёт старший байт первым. Одно и то же hex-целое может выглядеть как разные последовательности байтов в зависимости от машины.
Как вычитать hex-числа с заёмом?
Когда цифра меньше вычитаемой, занимайте 16 у следующей старшей цифры. Текущая цифра увеличивается на 16 (десятичных), дающий уменьшается на 1. 5DC − 3AF = 22D использует это правило в младшем столбце.
Можно ли перевести hex в двоичное без десятичной системы?
Да. Замените каждую hex-цифру её четырёхбитным шаблоном. A становится 1010, F становится 1111 и так далее. Сцепите нибблы для полной двоичной строки. Десятичный промежуток не нужен.
Сколько десятичных в FF?
FF в hex это 15×16 + 15 = 255 десятичных. Это наибольшее беззнаковое 8-битное значение и уровень «полностью включено» для одного цветового канала.
Загружает ли Шестнадцатеричный калькулятор значения?
Нет. Преобразование и арифметика выполняются полностью в браузере. Адреса, цветовые коды и фрагменты дампов остаются на устройстве.
Итог
Шестнадцатеричный калькулятор выполняет арифметику в base 16, переводит между hex, десятичной и двоичной системами через степени 16 и четырёхбитную карту нибблов и поддерживает чтение hex-строк для цветовых каналов и памяти. Сложение 8AB и B78 даёт 1423; вычитание 3AF из 5DC даёт 22D.
RGB-коды, адреса 0x и чтение дампов с учётом endianness описаны здесь; обучение побитовым разрядам остаётся на Двоичном калькуляторе, чтобы страницы не дублировали друг друга.