кодирование

Десятичное число в шестнадцатеричное

Точно преобразуйте целое десятичное число со знаком в шестнадцатеричное представление в верхнем регистре.

Десятичное число в шестнадцатеричное: Записывает целое десятичное число в шестнадцатеричном виде с буквами в верхнем регистре. Конвертер возвращает только цифры числа — без префикса 0x, разделителей байтов и выбранной разрядности хранения. Используйте результат как основу для константы, а затем добавьте форматирование, требуемое вашей целевой системой. Работает на 100% локально в вашем браузере, файлы на сервер не загружаются.

Запуски
В вашем браузере
Стоимость
Бесплатно · без регистрации
Доступность
Готово к использованию
Decimal → Hex / локальная рабочая областьЛокальная обработка

Полностью работает в браузере

256 символов во входных данных · 1,024 символов в выходных данных

Результат

Готово

Преобразование выполняется локально. Числовые значения — целые числа, знаки нормализуются, а префиксы, например 0b или 0o, намеренно не принимаются.

Остатки в шестнадцатеричной системе

Для величины q вычислите частное q_next = floor(q / 16) и цифру r = q − 16×q_next, заменяя остатки 10–15 на A–F. Последовательные остатки прочитайте в обратном порядке. Для входного значения 43981: 43981 = 16×2748 + 13 (D); 2748 = 16×171 + 12 (C); 171 = 16×10 + 11 (B); 10 = 16×0 + 10 (A). Результат — ABCD. Проверка: 10×4096 + 11×256 + 12×16 + 13 = 43981.

Префиксы, байты и точность

Шестнадцатеричная запись представляет величину независимо от расположения в памяти. Описание порядка байтов Cornell (https://www.cs.cornell.edu/courses/cs3110/2020sp/manual-4.8/libref/Bytes.html) объясняет, почему для передачи этой величины в виде байтов требуется соглашение о порядке байтов. Ограничение входных данных — 256 символов, включая необязательный знак, а результат ограничен 1,024 символами. Дроби, запятые, пробелы и экспоненциальная запись не проходят проверку. Точная арифметика целых чисел позволяет получать результаты за пределами безопасного диапазона JavaScript Number ±9,007,199,254,740,991 (https://tc39.es/ecma262/multipage/numbers-and-dates.html#sec-number.max_safe_integer). Однако экспорт через программы с плавающей точкой всё равно может привести к округлению; для точного сравнения сохраняйте hex-текст.

Как пользоваться

  1. Введите значение в формате, показанном ниже.
  2. Запустите преобразование и сверьте результат с соглашениями, принятыми в вашем исходном коде.
  3. Скопируйте или скачайте результат в формате, необходимом для вашей целевой системы.

Конфиденциальность и ограничения

Преобразование выполняется в браузере. Ваши значения и результаты не загружаются на сервер.

Похожие инструменты

Часто задаваемые вопросы

Как преобразовать результат в поле байтов?

Перед разделением на пары дополните положительные значения до чётного количества цифр. Десятичное число 10 здесь преобразуется в A, а для одного байта ему нужно 0A. Для поля размером в два байта может потребоваться 000A. Сначала проверьте максимальное значение: дополнение меняет представление, но не позволяет вместить слишком большое значение.

Можно ли сразу отправить шестнадцатеричный результат на устройство с little-endian?

Только после перестановки байтов в соответствии с протоколом. Десятичное число 4660 преобразуется в 1234; его два байта — 12 и 34. Поле little-endian отправляет 34 перед 12. После дополнения до указанной разрядности поменяйте местами пары байтов; перестановка всех четырёх символов дала бы другое число.

Возвращает ли отрицательное значение машинное представление?

Результат содержит знак минус и шестнадцатеричное представление модуля числа. Для знакового поля размером в восемь бит значение −1 требует шаблона дополнительного кода FF: сначала вычислите 256 − 1 = 255, а затем преобразуйте получившееся положительное значение. Этот инструмент не выбирает разрядность и не маскирует молча биты, выходящие за её пределы.

Бесплатный инструмент · запусков: в вашем браузере · аккаунт не нужен