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

Основание системы счисления, или радикс, — это количество цифр, используемых в системе счисления. В десятичной системе, привычной в повседневной жизни, десять цифр — от 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 в двоичном числе, появится сообщение об ошибке. Кнопка обмена меняет направление преобразования на обратное.

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

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

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

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