Сервисы

Калькулятор перевода из десятичной в шестнадцатеричную

Конвертер десятичных чисел в шестнадцатеричные

Переводит десятичное число (по основанию 10) в шестнадцатеричное (по основанию 16).

Десятичное число


Логика вычислений

Калькулятор переводит целое неотрицательное десятичное число (по основанию 10) в шестнадцатеричное представление (по основанию 16). Перевод выполняется разложением числа по степеням основания 16: число последовательно делится на 16, а остатки от деления, записанные снизу вверх, дают цифры результата.

D = h_k × 16ᵏ + h_(k−1) × 16ᵏ⁻¹ + … + h_1 × 16 + h_0

где:

  • D — исходное десятичное число;
  • h_0 … h_k — шестнадцатеричные цифры результата (от младшей к старшей);
  • k — номер старшего разряда.

Каждая шестнадцатеричная цифра принимает значение от 0 до 15, причём значения от 10 до 15 записываются буквами:

10 → A    11 → B    12 → C    13 → D    14 → E    15 → F

Практически цифры получают повторяющимся делением с остатком: остаток от деления на 16 даёт очередную (младшую) цифру, а целая часть передаётся в следующий шаг, пока она не станет равной нулю.

h_i = D_i mod 16    D_(i+1) = ⌊D_i / 16⌋

где:

  • D_i — значение, остающееся на i-м шаге деления (D_0 = D);
  • h_i — цифра i-го разряда (остаток от деления на 16);
  • ⌊ ⌋ — целая часть (отбрасывание дробной части при делении);
  • mod — остаток от деления.

Дополнительно результат выводится с префиксом 0x, который принято ставить перед шестнадцатеричными числами:

H_0x = «0x» + H

где:

  • H — полученное шестнадцатеричное число;
  • H_0x — то же число с префиксом 0x.

Примеры расчётов

Десятичное число D Деление с остатком (снизу вверх) Цифры результата Результат (с префиксом) Комментарий
0 0 ÷ 16 = 0, остаток 0 0 0x0 Граничный случай: ноль остаётся нулём.
10 10 ÷ 16 = 0, остаток 10 → A A 0xA Остаток 10 записывается буквой A.
16 16 ÷ 16 = 1, остаток 0; 1 ÷ 16 = 0, остаток 1 1, 0 0x10 Основание системы: первый двузначный результат.
255 255 ÷ 16 = 15, остаток 15 → F; 15 ÷ 16 = 0, остаток 15 → F F, F 0xFF Максимум одного байта (15×16 + 15 = 255).
3000 3000 ÷ 16 = 187, ост. 8; 187 ÷ 16 = 11 → B, ост. 11 → B; 11 ÷ 16 = 0, ост. 11 → B B, B, 8 0xBB8 Проверка: 11×256 + 11×16 + 8 = 3000.
4096 4096 ÷ 16 = 256, ост. 0; 256 ÷ 16 = 16, ост. 0; 16 ÷ 16 = 1, ост. 0; 1 ÷ 16 = 0, ост. 1 1, 0, 0, 0 0x1000 Круглая степень: 4096 = 16³.
65535 четыре деления, каждый остаток 15 → F F, F, F, F 0xFFFF Максимум двух байт (16⁴ − 1 = 65535).
Рекомендуем