Как пользоваться
- Выберите систему счисления исходного числа: двоичную, восьмеричную, десятичную, шестнадцатеричную или другую с основанием от 2 до 36.
- Введите или вставьте число. Можно использовать префиксы, например 0x, и разделители, например _.
- Сразу просмотрите число во всех системах счисления и скопируйте нужный вариант.
- В последней строке можно выбрать любое другое основание, например 36 для коротких идентификаторов.
Как это работает
В позиционной системе счисления значение записывается как сумма цифр, умноженных на степени основания системы. В двоичной системе (основание 2) каждая цифра — это бит; в восьмеричной (основание 8) одна цифра обозначает 3 бита; в шестнадцатеричной (основание 16) — 4 бита. Для значений от 10 до 15 используются буквы A–F. В системах с основанием больше 16 используются следующие буквы алфавита — вплоть до основания 36, где задействованы все цифры от 0 до 9 и буквы от A до Z.
Конвертер использует арифметику JavaScript BigInt, поэтому числа любой длины переводятся точно. Обычные числа с плавающей точкой теряют точность при значениях больше 9,007,199,254,740,991 (2^53 − 1), из-за чего некоторые конвертеры неправильно обрабатывают 64-битные значения.
Каждая цифра проверяется на соответствие выбранному основанию. Если встречается недопустимый символ, конвертер указывает его и позицию — например, 2 в двоичном числе или G в шестнадцатеричном. Регистр букв не имеет значения. Пробелы и подчёркивания игнорируются, поэтому можно вставлять значения, например, 1111_0000 или DE AD BE EF. Допускаются префиксы 0b (двоичная система), 0o (восьмеричная) и 0x (шестнадцатеричная). Если для числа выбрана десятичная система, но оно начинается с одного из этих префиксов, система определяется по префиксу.
Отрицательные числа переводятся с сохранением знака минус и модуля (−255 в шестнадцатеричной системе — это −FF). Конвертер не показывает представления в дополнительном коде, которые зависят от фиксированной разрядности, например 8, 32 или 64 бита. Дробные числа не поддерживаются: конвертируются только целые числа.
Примеры
Как читать шестнадцатеричный цвет или значение байта
0xFF — это 255 в десятичной системе и 1111 1111 в двоичной: максимальное значение одного байта. Так, в цвете #FF0000 значение FF означает максимальную интенсивность красного.
Права доступа к файлам в Unix
Восьмеричное значение прав доступа 755 в двоичной системе — это 111 101 101: чтение, запись и выполнение (7) для владельца, чтение и выполнение (5) для группы и остальных пользователей. В десятичной системе это 493.
Большие 64-битные значения
Максимальное беззнаковое 64-битное целое число — FFFF FFFF FFFF FFFF в шестнадцатеричной системе и 18446744073709551615 в десятичной. Оно переводится точно, цифра за цифрой, без округления.
Часто задаваемые вопросы
Как вручную перевести двоичное число в десятичное?
Умножьте каждый бит на соответствующую степень двойки, начиная с нулевой справа, и сложите результаты. Для 1011: 1×8 + 0×4 + 1×2 + 1×1 = 11.
Почему двоичные числа и шестнадцатеричные цифры группируют по четыре?
Одна шестнадцатеричная цифра соответствует ровно четырём битам, поэтому двоичное число удобно группировать по четыре бита: 1101 1110 — это DE. Так легко переводить числа из одной системы в другую на глаз.
Есть ли ограничение на размер числа?
Фиксированного ограничения нет. Благодаря BigInt числа длиной в сотни и тысячи цифр переводятся точно. На медленных устройствах обработка очень длинного ввода может занять некоторое время.
Можно ли переводить отрицательные числа и дроби?
Отрицательные целые числа поддерживаются, знак минус сохраняется. Дробные числа и десятичный разделитель не поддерживаются: точка будет отмечена как недопустимый символ.
Для чего используется система с основанием 36?
В системе с основанием 36 используются цифры 0–9 и буквы A–Z — это самый компактный буквенно-цифровой формат без учёта регистра. Его используют для коротких идентификаторов и сервисов сокращения URL. Например, 1,000,000 в системе с основанием 36 — это LFLS.
Конфиденциальность
Преобразование выполняется в браузере. Введённые числа не загружаются на сервер, не сохраняются и не передаются в аналитику.