Saltar para o conteúdo
BCBinary Code Translator
Menu

Inteiros com sinal e largura fixa

Conversor de complemento de dois

Converta entre decimal com sinal, decimal sem sinal e padrões binários de 8, 16, 32 ou 64 bits, vendo as duas interpretações.

Limites, máscaras e formatação são calculados localmente com BigInt.

Padrão de bits

Ainda não há resultado

Padrão hexadecimal

Ainda não há resultado

Decimal com sinal

Ainda não há resultado

Decimal sem sinal

Ainda não há resultado

O que é complemento de dois

Complemento de dois é a representação dominante de inteiros com sinal. Com uma largura fixa, o bit mais à esquerda tem peso negativo e os demais mantêm potências de dois positivas. Em oito bits, 11010110 representa -42, enquanto os mesmos bits valem 214 sem sinal.

A largura faz parte do valor. 11111111 é -1 em oito bits, mas 255 sem sinal; com dezasseis bits, 0000000011111111 é +255. Por isso a ferramenta exige 8, 16, 32 ou 64 bits antes de interpretar a entrada.

Como usar

Defina primeiro a interpretação e a largura; só depois introduza o valor.

  1. Escolha decimal com sinal, decimal sem sinal ou cadeia de bits exata.
  2. Selecione 8, 16, 32 ou 64 bits.
  3. Introduza o valor; cadeias binárias devem ter exatamente a largura escolhida.
  4. Clique em Converter para ver bits, hexadecimal e as duas leituras decimais.
  5. Confirme a largura ao comparar com registos, protocolos ou ficheiros.

Exemplos por largura

O mesmo padrão muda de significado conforme largura e interpretação.

Entrada Saída Explicação
-1, 8 bits 11111111 Todos os bits em 1 formam a representação canónica de -1.
-128, 8 bits 10000000 Menor inteiro com sinal em oito bits.
127, 8 bits 01111111 Maior positivo com sinal em oito bits.
214 sem sinal, 8 bits 11010110 = -42 com sinal Os bits não mudam; muda a interpretação.
-32768, 16 bits 1000000000000000 Limite inferior de 16 bits.
18446744073709551615 sem sinal, 64 bits 64 uns = -1 com sinal Máximo sem sinal ocupa todos os bits.

Formato e intervalos

Decimal com sinal aceita valores de -2^(w-1) a 2^(w-1)-1. Decimal sem sinal aceita valores de 0 a 2^w-1. A cadeia binária aceita apenas 0 e 1 e deve conter exatamente w bits após remover espaços e sublinhados.

Prefixos e extensões não são inferidos. Ao mudar de 8 para 16 bits, introduza novamente o valor desejado; isso evita confundir extensão de sinal com preenchimento por zeros.

  • 8 bits com sinal: -128 a 127; sem sinal: 0 a 255.
  • 16 bits com sinal: -32768 a 32767.
  • 32 e 64 bits são calculados exatamente com BigInt.
  • Hexadecimal sempre recebe zeros até a largura completa.

Como o padrão é calculado

Para um valor negativo x com largura w, o padrão sem sinal é 2^w + x. O resultado cai entre 0 e 2^w-1 e pode ser formatado com exatamente w bits.

Ao descodificar, se o bit de sinal for zero, o valor com sinal é o valor sem sinal. Se for um, subtrai-se 2^w. A interpretação sem sinal é sempre a magnitude direta do padrão.

BigInt evita arredondamento em 64 bits, onde muitos valores não cabem com exatidão em Number.

Usos práticos

Complemento de dois aparece sempre que a largura do inteiro é definida.

Registos e depuradores

Leia palavras de memória e valores exibidos em hexadecimal.

Protocolos binários

Valide campos int8, int16, int32 e int64.

Emulação e compiladores

Teste extensão de sinal, overflow e constantes.

Interoperabilidade

Compare linguagens que exibem o mesmo padrão como valor com ou sem sinal.

Erros e limites

Largura incorreta é a principal causa de resultados diferentes do esperado.

Valor fora do intervalo

A ferramenta rejeita em vez de truncar os bits mais altos.

Bits a mais ou a menos

Uma cadeia exata precisa ter a largura selecionada.

Misturar sinal e magnitude

O bit mais significativo não é um sinal separado; participa no valor em complemento de dois.

Esquecer extensão de sinal

Ao ampliar um negativo, replique o bit de sinal, não preencha com zeros.

Diferenças para ferramentas próximas

Representação, mudança de base e operação bit a bit são tarefas distintas.

Decimal para binário

Pode mostrar uma magnitude sem largura; aqui o padrão é fixo e tem sinal.

Calculadora bit a bit

Opera sobre padrões; este conversor interpreta um único padrão.

IEEE 754

Ponto flutuante usa sinal, expoente e fração, não complemento de dois.

Conversor de bases

Preserva o inteiro matemático sem impor um intervalo com sinal.

Perguntas frequentes

Porque é que preciso de escolher uma largura?

Porque o intervalo e o peso do bit de sinal dependem do número total de bits.

Porque é que 11111111 pode ser -1 e 255?

É o mesmo padrão; a leitura com sinal subtrai 2⁸ porque o bit principal é um.

A ferramenta simula overflow?

Não. Valores fora do intervalo são rejeitados, evitando truncamento silencioso.

Como ampliar um valor negativo?

Use extensão de sinal, repetindo o bit mais à esquerda até a nova largura.

64 bits são exatos no navegador?

Sim. A aritmética usa BigInt, não Number.

Os dados saem do dispositivo?

Não. Conversão e validação são efetuadas no navegador.

Ferramentas relacionadas

Ver todas as ferramentas

Preferências de cookies

Gerir as preferências de cookies. Os cookies necessários não podem ser desativados.

Necessários

Obrigatório

Necessários para seleção de idioma, escolhas de privacidade e funcionalidades básicas do site.

Cookies: NEXT_LOCALE

Análises

Cookies opcionais de análise ajudam a entender o tráfego e melhorar o site.

Cookies: _ga, _gid, _gat, _clck, _clsk

Publicidade

Cookies opcionais de publicidade podem ser usados para mostrar anúncios relevantes e medir desempenho.

Cookies: __gads, _gcl_au, IDE