Выберите исходное основание 2 и введите -101010. Минус отделяется до проверки цифр, а все остальные символы равны 0 или 1. NumberBase точно переводит модуль и затем возвращает знак. Биты не интерпретируются как дополнительный код фиксированной разрядности.

Binary-модуль 101010 равен 42

Единичные биты находятся в позициях 5, 3 и 1: 2⁵ + 2³ + 2¹ = 32 + 8 + 2 = 42. Накопление слева направо даёт тот же результат через повторные умножения на 2 и добавления цифры.

Примените знак после точного накопления

Модуль BigInt равен 42, поэтому полное значение — -42. При выводе сохраняется один ведущий минус: base 2 -101010, base 8 -52, base 10 -42, base 16 -2A, base 36 -16. Ни одна строка не является битовым кодированием отрицательного машинного слова.

Разрядность намеренно не задаётся

Вывод дополнительного кода требует выбрать 8, 16, 32 или 64 бита и правило переполнения. Этот конвертер не спрашивает ни то, ни другое, поэтому текст знака и модуля — единственный однозначный результат между основаниями. Машинное кодирование относится к другому контракту.