Перевод систем счисления
Двоичная / восьмеричная / десятичная / шестнадцатеричная / любая система от 2 до 36 · точные большие числа · дроби и побитовые виды
换算设置
整数用 BigInt 大数运算,不经过双精度浮点,40 位以上的十进制整数也逐位精确。
小数按分数精确换算:把你输入的小数位当分子、进制的幂当分母,约分后逐位乘目标进制,结果标注「精确」或「循环」。
位视图展示绝对值(可补到 8/16/32/64 位),不处理补码——需要补码请先确定位宽再手工换算。
换算结果
输入数值后这里会同时给出各进制结果。
Частые вопросы
Нет. Целая часть идёт от начала до конца через BigInt и ни на шаг не заходит в JS Number - двойной float точно кладёт целые лишь до 2^53, это порядка 16 десятичных знаков. Вводите целое в 40 и более знаков - двоичный, шестнадцатеричный и 36-ричный результаты будут точны до каждого разряда.
Дробь перекладывается точной дробью: ваши дробные знаки идут числителем, степень основания - знаменателем; после сокращения по разряду умножаем на целевое основание. Если в знаменателе после сокращения остались только простые множители целевого основания, развёртка конечна - пометка «точная» (десятичное 0.5 в двоичной это 0.1, 0.9375 - 0.1111). Иначе начинается бесконечный период - пометка «периодическая» (0.1 в двоичной это 0.0001100110011… без конца), и тогда результат обрезают по заданному вами числу знаков, о чём честно сказано.
Отрицательные есть, по обычной записи минус сохраняется (десятичное -255 будет -FF в шестнадцатеричной). Дополнительный код и побитовые операции - вне зоны этой страницы: побитовый вид показывает двоичную разбивку модуля числа (можно дополнить до 8/16/32/64 разрядов), а не представление в дополнительном коде; нужен допкод - сперва зафиксируйте ширину и считайте вручную: страница ширину за вас не угадает.
Никуда не загружается. Разбор и пересчёт идут целиком в браузере, ввод не покидает машину, перезагрузка стирает. Префиксы руками снимать не нужно: начало с 0x / 0b / 0o распознаётся само и переключает на основание 16 / 2 / 8 (интерфейс это помечает); пробелы и подчёркивания внутри числа считаются разделителями разрядов и игнорируются (0b1010_1010 равно 10101010); в шестнадцатеричной регистр не важен.