Сервисы

Шестнадцатеричный калькулятор

Шестнадцатеричный калькулятор и конвертер

Сложение, вычитание, умножение, деление и преобразование шестнадцатеричных чисел в десятичные, двоичные и восьмеричные.


Первое число

Операция

Второе число


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

Калькулятор работает в двух режимах: «Hex-калькулятор» — выполняет арифметическую операцию над двумя числами, заданными в произвольных системах счисления (двоичной, восьмеричной, десятичной или шестнадцатеричной), и «Hex-конвертер» — переводит одно шестнадцатеричное число в остальные три системы. В обоих режимах внутреннее вычисление идёт над целыми числами; результат выводится сразу в четырёх системах счисления.

Перевод числа из произвольной системы в целое

Любое введённое число с основанием b представляется как сумма степеней основания, где каждой цифре соответствует её позиционный вес:

N = d_(k−1) × b^(k−1) + d_(k−2) × b^(k−2) + … + d_1 × b + d_0

где:

  • N — целое значение числа в десятичном представлении;
  • b — основание исходной системы счисления (2, 8, 10 или 16);
  • k — количество цифр в записи числа;
  • d_i — цифра числа на позиции i, причём 0 ≤ d_i < b (для шестнадцатеричной системы буквы a–f соответствуют значениям 10–15).

Hex-калькулятор

Оба введённых числа переводятся в общее целочисленное представление по формуле выше, затем над ними выполняется выбранная операция:

R = N₁ + N₂    R = N₁ − N₂    R = N₁ × N₂    R = ⌊N₁ / N₂⌋

где:

  • N₁, N₂ — первое и второе число, приведённые к целому виду;
  • R — результат операции, целое число;
  • ⌊…⌋ — деление выполняется как целочисленное (дробная часть отбрасывается).

Hex-конвертер

Введённое шестнадцатеричное число сразу принимается за исходное целое:

R = N (b = 16)

где:

  • R — исходное число, которое будет выведено во всех четырёх системах счисления.

Вывод результата в четырёх системах

Полученное целое R представляется в каждой целевой системе с основанием b′ по обратному алгоритму — последовательным делением с остатком:

d_0 = R mod b′    R_1 = ⌊R / b′⌋

d_1 = R_1 mod b′    R_2 = ⌊R_1 / b′⌋    …    до R_k = 0

где:

  • b′ — основание целевой системы (2, 8, 10 или 16);
  • d_0, d_1, …, d_(k−1) — цифры результата от младшей к старшей;
  • mod — остаток от деления, ⌊…⌋ — целая часть от деления.

Записанные в обратном порядке цифры d_(k−1) … d_1 d_0 и образуют итоговое представление числа в соответствующей системе. Для шестнадцатеричной системы значения цифр 10–15 заменяются буквами a–f.

Соответствие систем счисления

Система Основание b Допустимые цифры
Двоичная 2 0, 1
Восьмеричная 8 0–7
Десятичная 10 0–9
Шестнадцатеричная 16 0–9, a–f
Рекомендуем