Конвертер систем счисления

Конвертируйте число между двоичной, восьмеричной, десятичной и шестнадцатеричной системами в реальном времени, или между любыми двумя системами от 2 до 36.

Введите значение в любое поле — остальные три обновятся автоматически. Поддерживает отрицательные числа и произвольно большие целые числа.

Конвертация в произвольную систему

Конвертируйте между любыми двумя системами от 2 до 36.

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

Каждое введённое вами значение разбирается в JavaScript-тип BigInt — целое число произвольной точности, встроенное в браузер. Разбор проходит по вашему вводу цифра за цифрой, умножая текущий итог на основание системы и прибавляя значение каждой цифры; обратная конвертация многократно делит на целевое основание и собирает остатки. Цифры выше 9 используют буквы, поэтому в системе с основанием 36 идёт последовательность 0-9, а затем a-z. Отрицательные числа тоже работают: ведущий знак минус отделяется перед разбором и добавляется обратно в конце.

Часть с BigInt — это деталь, которую стоит знать. Конвертеры, построенные на обычных числах JavaScript, незаметно повреждают любое значение выше 9 007 199 254 740 991 (2^53 - 1), потому что именно с этого момента числа с плавающей точкой перестают точно представлять каждое целое число. Вставьте в такой конвертер 16-значное шестнадцатеричное значение вроде ffffffffffffffff, и вы получите округлённый, неверный ответ без какого-либо предупреждения. Здесь же вычисления точны при любой длине: 100-значное десятичное число корректно конвертируется в двоичное, просто получится больше цифр.

Каждое поле проверяется на соответствие своей системе счисления по мере ввода, поэтому ввод 9 в восьмеричное поле или g в шестнадцатеричное покажет ошибку вместо бессмысленного результата, а остальные три поля обновляются в реальном времени в зависимости от того, какое вы редактировали. Всё это происходит в вашей вкладке: проверьте панель Network в DevTools, и вы увидите, что страница не отправляет ни одного запроса во время ввода, поэтому конвертируемые вами числа никогда не покидают ваш компьютер.