Conversor de complemento para dois
Converta um número inteiro no seu padrão de bits de complemento para dois com largura de bits escolhida, ou descodifique bits de volta para um número.
Conversor de complemento para dois
Os computadores armazenam números negativos usando complemento para dois, não um simples sinal de menos — o mesmo padrão de bits representa um valor diferente dependendo de ser lido como número com sinal ou sem sinal. Esta ferramenta converte em ambas as direções: digite um número inteiro por linha e produz o padrão de bits de complemento para dois correspondente na largura escolhida, ou mude de direção e cole padrões de bits para obter o valor decimal com sinal (ou sem sinal) que cada um representa.
Escolha uma largura de bits de 8, 16, 32 ou 64 e um formato de saída binário ou hexadecimal. A opção "Com sinal" controla como um valor é interpretado: quando ativada, um padrão de bits é lido como complemento para dois (portanto o bit superior significa negativo) e um número deve caber no intervalo com sinal para essa largura; quando desativada, ambas as direções tratam os mesmos bits como um número inteiro sem sinal comum. Alternando a direção troca a codificação pela descodificação sem perder a entrada, para que verificar uma conversão de ida e volta seja apenas um clique.
Estouro é onde o complemento para dois fica confuso, então esta ferramenta o torna visível em vez de ocultá-lo: um número fora do intervalo de largura escolhido ainda é encapsulado da maneira como o hardware real o faz — esse encapsulamento é o padrão de complemento para dois correto, não um erro — mas as linhas afetadas também são sinalizadas e contabilizadas no resumo, para que um estouro não intencional numa lista de números não passe despercebido. Desative essa sinalização se estiver deliberadamente explorando o comportamento de encapsulamento e não quiser que seja indicado.
Cole uma coluna inteira de números ou padrões de bits de uma vez; cada linha é convertida de forma independente e as linhas em branco são preservadas para que o resultado permaneça alinhado com a entrada. Tudo é executado localmente no seu navegador — nada que cole, incluindo constantes proprietárias ou valores de firmware, é nunca carregado em nenhum lugar.