Перевод между системами счисления

Перевод чисел из одной системы счисления в другую – базовая задача в информатике и программировании. Будь то перевод IP-адреса из десятичного формата в двоичный, работа с шестнадцатеричными кодами цветов или решение школьных задач по информатике, калькулятор систем счисления позволит быстро получить нужный результат и избежать ошибок в вычислениях.

Исходные данные
Поддерживаются целые и дробные числа. Для шестнадцатеричной системы используйте A-F.

Результаты конвертации:

Подсказка по вводу

Для корректной работы убедитесь, что вводимые цифры соответствуют выбранной системе счисления:

  • 2: только 0 и 1
  • 8: от 0 до 7
  • 10: от 0 до 9
  • 16: от 0 до 9 и буквы A-F

Калькулятор выше поддерживает перевод целых и дробных чисел между наиболее востребованными системами счисления: двоичной (base-2), восьмеричной (base-8), десятичной (base-10) и шестнадцатеричной (base-16). Расчет производится мгновенно.

Как посчитать системы счисления: основные методы перевода

Система счисления (СС) определяет способ записи чисел с помощью заданного набора символов (алфавита). В позиционных системах, к которым относятся двоичная, восьмеричная, десятичная и шестнадцатеричная, вес каждой цифры зависит от ее позиции (разряда) в числе.

Из любой системы в десятичную

Чтобы перевести число из любой позиционной системы в десятичную, необходимо представить его в виде суммы произведений цифр числа на основание исходной системы счисления, возведенное в степень разряда. Разряды нумеруются справа налево, начиная с нуля (для целой части числа).

Пример: Переведем двоичное число $1011_2$ в десятичную систему: $1011_2 = 1 \times 2^3 + 0 \times 2^2 + 1 \times 2^1 + 1 \times 2^0 = 8 + 0 + 2 + 1 = 11_{10}$

Пример: Переведем шестнадцатеричное число $2A_{16}$ в десятичную систему (помним, что A = 10): $2A_{16} = 2 \times 16^1 + 10 \times 16^0 = 32 + 10 = 42_{10}$

Из десятичной в любую другую

Для перевода целого десятичного числа в другую систему счисления используется метод последовательного деления столбиком. Исходное число делится нацело на основание целевой системы. Полученное частное снова делится на основание, и так до тех пор, пока частное не станет равным нулю. Искомое число формируется из остатков от деления, записанных в обратном порядке (начиная с последнего частного).

Пример: Переведем десятичное число $43_{10}$ в двоичную систему (основание 2):

  1. 43 / 2 = 21, остаток: 1
  2. 21 / 2 = 10, остаток: 1
  3. 10 / 2 = 5, остаток: 0
  4. 5 / 2 = 2, остаток: 1
  5. 2 / 2 = 1, остаток: 0
  6. 1 / 2 = 0, остаток: 1

Читаем остатки снизу вверх: $101011_2$. Таким образом, $43_{10} = 101011_2$.

Быстрый перевод между двоичной, восьмеричной и шестнадцатеричной СС

Основания 2, 8 и 16 математически связаны ($8 = 2^3$, $16 = 2^4$). Это позволяет осуществлять перевод между ними гораздо проще и быстрее, без промежуточного перевода в десятичную систему, используя метод триад и тетрад.

  • Триада – группа из трёх двоичных цифр (байт). Позволяет кодировать числа от 0 до 7 (восьмеричная система).
  • Тетрада – группа из четырёх двоичных цифр. Позволяет кодировать числа от 0 до 15 (шестнадцатеричная система).

Связь с двоичной системой (триады и тетрады)

Для перевода из восьмеричной или шестнадцатеричной системы в двоичную, каждую цифру исходного числа заменяют соответствующей ей двоичной триадой (для 8-ричной) или тетрадой (для 16-ричной). Если двоичный эквивалент содержит меньше цифр, он дополняется незначащими нулями слева.

Таблица соответствия:

ДесятичнаяДвоичная (тетрада)ВосьмеричнаяШестнадцатеричная
0000000
1000111
2001022
3001133
4010044
5010155
6011066
7011177
81000-8
91001-9
101010-A
111011-B
121100-C
131101-D
141110-E
151111-F

Как переводить с помощью таблиц?

Пример 1: Перевод из шестнадцатеричной в двоичную. Дано число: $B5_{16}$. Смотрим в таблицу: $B = 1011$, $5 = 0101$. Результат: $10110101_2$.

Пример 2: Перевод из двоичной в восьмеричную. Дано число: $1101011_2$. Разбиваем на триады справа налево: $001$ $101$ $011$ (добавили нули слева для полной триады). Смотрим в таблицу: $001 = 1$, $101 = 5$, $011 = 3$. Результат: $153_8$.

Для прямого перевода между восьмеричной и шестнадцатеричной системами проще всего использовать двоичную систему в качестве промежуточного этапа: сначала перевести число в двоичный код, а затем перегруппировать разряды.

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

Что такое основание системы счисления?
Основание системы счисления – это количество уникальных цифр, используемых для записи чисел. Например, в десятичной системе основание равно 10 (от 0 до 9), а в двоичной – 2 (0 и 1).
Как перевести число из десятичной в любую другую систему?
Для этого исходное десятичное число последовательно делят на основание новой системы счисления. Остатки от деления, записанные в обратном порядке, образуют число в новой системе.
Зачем нужны буквы в шестнадцатеричной системе?
В шестнадцатеричной системе 16 цифр. Так как арабских цифр всего 10 (от 0 до 9), для обозначения значений от 10 до 15 используются первые буквы латинского алфавита: A (10), B (11), C (12), D (13), E (14) и F (15).
Где применяется восьмеричная система счисления?
Восьмеричная система часто используется в программировании и IT, например, для компактного представления прав доступа к файлам в операционных системах семейства UNIX/Linux (chmod).
  1. Вычисление и перевод в десятичную систему счисления
  2. Перевод в системы счисления: алгоритмы и примеры
  3. Перевод числа 8 в 16-ричную систему счисления
  4. Перевести 2 в шестнадцатеричную систему
  5. Перевод двоичных чисел в десятичную систему – с примерами
  6. Как найти наибольшую цифру числа: методы и расчет