Конвертер предсказуем, когда его грамматика уже, чем у литералов языка программирования. NumberBase требует выбрать исходное основание и рассматривает ввод как одну знаковую строку цифр этого алфавита. Он не выводит смысл из 0x, 0b, точки или экспоненты.
Регистр ввода не важен, вывод прописной
A и a обе означают цифру 10, вплоть до Z и z со значением 35. Регистр не создаёт разные числа. Канонический вывод использует прописные A–Z, поэтому эквивалентные FF и ff дают одинаковый нормализованный результат.
Минус — знак, а не цифра
Один ASCII-минус допускается только перед первой цифрой. Он относится ко всему модулю и сохраняется перед любым ненулевым результатом, включая binary. Конвертер использует текст знака и модуля, не придумывает разрядность или дополнительный код. Отрицательный ноль нормализуется в 0.
Отклоняйте неоднозначную запись, не исправляйте её
Пробелы, плюс, префиксы оснований, подчёркивания, запятые, точки, экспоненты, похожие Unicode-цифры и текст не входят в грамматику. Начальные нули модуля допускаются, но убираются из канонического вывода. Пустая строка и знак без цифр недопустимы.