Sobre esta ferramenta
O Conversor de Complemento de Dois codifica um inteiro com sinal em sua representação binária e hexadecimal de complemento de dois em uma largura de bits que você escolhe (4, 8, 16, 32 ou 64 bits), e decodifica um padrão binário ou hex de volta ao valor com sinal que ele representa. Ele usa BigInt em todo o processo, então valores de 64 bits são tratados exatamente sem perda de precisão.
Para uma largura de N bits, a faixa com sinal é −2^(N−1) a 2^(N−1)−1. Para codificar um decimal d: se d for não negativo, o padrão é simplesmente d; se d for negativo, o padrão é 2^N + d (equivalentemente, inverta todos os bits de |d| e some 1). A ferramenta produz o binário de N bits preenchido com zeros, o hex de N/4 dígitos, o complemento de um (NOT bit a bit), e a interpretação sem sinal dos mesmos bits, e sinaliza um erro de overflow quando um valor não cabe na largura selecionada.
Para decodificar, cole um padrão binário ou hex e a ferramenta lê seu bit superior: se o bit mais significativo estiver ativado, o valor é padrão − 2^N (negativo), caso contrário é o próprio padrão. Ela sempre mostra as leituras com sinal e sem sinal lado a lado, que é exatamente a ambiguidade que o complemento de dois resolve no nível do hardware. Todo o cálculo é local ao seu navegador.