Об этом инструменте
Конвертер дополнительного кода кодирует знаковое целое число в его двоичное и шестнадцатеричное представление в дополнительном коде при выбранной вами разрядности (4, 8, 16, 32 или 64 бита) и декодирует двоичный или hex-шаблон обратно в знаковое значение, которое он представляет. Он использует BigInt повсюду, поэтому 64-битные значения обрабатываются точно без потери точности.
Для разрядности N бит знаковый диапазон составляет от −2^(N−1) до 2^(N−1)−1. Чтобы закодировать десятичное d: если d неотрицательно, шаблон — это просто d; если d отрицательно, шаблон — это 2^N + d (эквивалентно, инвертировать все биты |d| и прибавить 1). Инструмент выводит N-битный двоичный с ведущими нулями, N/4-значный hex, обратный код (побитовое НЕ) и беззнаковую интерпретацию тех же битов, и он помечает ошибку переполнения, когда значение не помещается в выбранную разрядность.
Чтобы декодировать, вставьте двоичный или hex-шаблон, и инструмент считывает его старший бит: если старший значащий бит установлен, значение — это pattern − 2^N (отрицательное), иначе это сам шаблон. Он всегда показывает и знаковое, и беззнаковое прочтение рядом, что и есть та неоднозначность, которую дополнительный код разрешает на аппаратном уровне. Все вычисления локальны для вашего браузера.