Что такое основание системы счисления?

Основание системы счисления, или радикс, — это количество цифр, используемых в этой системе. В десятичной системе, которой мы пользуемся каждый день, десять цифр: от 0 до 9. Значение каждого разряда в десять раз больше значения разряда справа от него. Компьютеры работают в двоичной системе, в которой всего две цифры — 0 и 1, поэтому значение каждого разряда вдвое больше значения разряда справа от него. Восьмеричная система с цифрами от 0 до 7 и шестнадцатеричная система с цифрами от 0 до 9 и буквами от A до F для чисел от 10 до 15 позволяют компактно записывать двоичные числа: одна восьмеричная цифра точно соответствует 3 битам, а одна шестнадцатеричная — 4 битам, поэтому байт всегда записывается двумя шестнадцатеричными цифрами.

Одно и то же число в разных системах счисления:

Десятичная Двоичная Восьмеричная Шестнадцатеричная
10 1010 12 A
42 101010 52 2A
255 11111111 377 FF
1000 1111101000 1750 3E8
65535 1111111111111111 177777 FFFF
-42 -101010 -52 -2A

Где используется каждая система счисления

  • Двоичная: биты, флаги, битовые маски и маски подсети, например 255.255.255.0, которая состоит из 24 единиц и следующих за ними 8 нулей.
  • Восьмеричная: права доступа к файлам в Unix, например chmod 755, где каждая цифра соответствует трём битам прав доступа.
  • Десятичная: числа, используемые в повседневной жизни.
  • Шестнадцатеричная: цвета, например #FF6600, значения байтов, адреса памяти, MAC-адреса и кодовые точки Unicode, например U+00E9.

Описание инструмента

Этот инструмент преобразует целые числа между двоичной, восьмеричной, десятичной и шестнадцатеричной системами счисления. Все представленные здесь конвертеры систем счисления работают одинаково: от универсального конвертера систем счисления до конвертеров для отдельных пар, например из десятичной системы в двоичную или из шестнадцатеричной в десятичную. Изначально каждый конвертер настроен на системы счисления, указанные в его названии, а меню «Исходная система» и «Целевая система» позволяют выбрать любую из четырёх систем. Введите или вставьте число — результат появится по мере ввода, и его можно будет скопировать. Если в числе есть цифра, которой нет в выбранной системе счисления, например 2 в двоичном числе, появится сообщение об ошибке. Кнопка обмена меняет направление преобразования на обратное.

Как это работает

Инструмент считывает число как BigInt в JavaScript — целое число без ограничения по размеру. Благодаря этому 64-битные и более длинные числа преобразуются точно, без округления: FFFFFFFFFFFFFFFF в шестнадцатеричной системе — это 18446744073709551615 в десятичной. Поддерживаются:

  • Знак минус в начале числа, который сохраняется в результате: -42 в десятичной системе — это -101010 в двоичной.
  • Префиксы, используемые в коде: 0b для двоичной системы, 0o для восьмеричной и 0x для шестнадцатеричной, поэтому 0x1F преобразуется в 31.
  • Пробелы и символы подчёркивания между группами цифр, например 1111 0000 или 1_000_000.
  • Буквы шестнадцатеричных чисел в верхнем или нижнем регистре. Результаты записываются в верхнем регистре.

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