Calculadora de complemento de dois

Digite um número com sinal, ou os bits de um número, para ver o padrão que o computador guarda. As formas de complemento de um e de sinal e magnitude aparecem ao lado, para que os três sistemas sejam fáceis de comparar.

Gratuita Funciona no seu navegador Verificada em terça-feira, 10 de novembro de 2026

Um número com sinal, como -5, ou os bits de um número em hexadecimal ou binário, como FB ou 11111011.

Escrito como

Resultado

Bits do complemento de dois — Os bits que a largura guarda para o número, em grupos de quatro.
Hexadecimal —
Valor com sinal — O número que esses bits representam no complemento de dois.
Valor sem sinal —
Intervalo desta largura —
Verificação — Diz se o número cabe na largura.
Formas comparadas

Esta ferramenta funciona no seu navegador. O que você digita não é enviado para nós.

Como usar

  1. Digite o número em Número ou bits. Para bits, escolha hexadecimal ou binário em Escrito como.
  2. Escolha a Largura: a quantidade de bits que o computador guarda, 8, 16, 32 ou 64.
  3. Leia Bits do complemento de dois para o padrão guardado, e Formas comparadas para os outros dois sistemas.
  4. Se a Verificação disser que o número não cabe, os bits mostrados são o que o computador guardaria no lugar.

Como um número negativo é guardado

Um computador guarda um inteiro com sinal em um número fixo de bits. No complemento de dois, o bit mais alto representa −2^(n−1), e os outros bits somam como de costume. Para escrever −5 em 8 bits, escreva 5 como 00000101, inverta cada bit e some 1: 11111010 + 1 = 11111011.

−5  →  00000101  →  11111010  →  11111011 (FB em hexadecimal)

Complemento de um e sinal e magnitude

  • O complemento de um inverte cada bit da magnitude: −5 é 11111010.
  • O sinal e magnitude mantém a magnitude e liga o bit mais alto como sinal: −5 é 10000101.
  • As duas formas têm dois zeros. Todos os uns no complemento de um, e um bit de sinal sozinho no sinal e magnitude, são −0.
  • O complemento de dois tem um só zero e um valor negativo a mais que os positivos. É o sistema que a maioria dos processadores usa para inteiros.

Intervalo e estouro

Com n bits, o intervalo do complemento de dois vai de −2^(n−1) a 2^(n−1) − 1: de −128 a 127 em 8 bits, e de −2.147.483.648 a 2.147.483.647 em 32 bits. Um valor fora do intervalo dá a volta: 200 precisa de oito bits e é lido como −56, porque 11001000 é −56 no complemento de dois.

O que a ferramenta não cobre

  • Aritmética: a ferramenta mostra como um número é guardado, não o resultado de somar ou multiplicar dois números.
  • Frações decimais e números de ponto flutuante, que têm formato próprio: veja o conversor IEEE 754.
  • Linguagens que geram erro no estouro em vez de dar a volta. A ferramenta mostra o resultado com a volta e o assinala.

Exemplo resolvido: −5 em 8 bits

Digite −5 com Escrito como em decimal e Largura em 8 bits. O padrão do complemento de dois é 11111011, que é FB em hexadecimal e 251 como número sem sinal.

O mesmo −5 nos outros dois sistemas: o complemento de um é 11111010, e o sinal e magnitude é 10000101.

Sistema Bits Hex Valor
Complemento de dois 1111 1011 FB −5
Complemento de um 1111 1010 FA −5
Sinal e magnitude 1000 0101 85 −5
Sem sinal 1111 1011 FB 251

Perguntas frequentes

Por que os computadores usam complemento de dois em vez de um sinal de menos?

Um sinal de menos precisaria de uma regra própria em cada circuito de soma. No complemento de dois, a soma e a subtração funcionam do mesmo jeito para números negativos e positivos, e há um só zero.

Por que o intervalo negativo tem um valor a mais que o positivo?

O zero ocupa um dos 2^n padrões, então os valores positivos vão de 1 a 2^(n−1) − 1, e os negativos descem até −2^(n−1). Em 8 bits, o valor extra é −128, que não tem par positivo.

O que significa estouro nesta página?

O número precisa de mais bits do que a largura tem. A página mostra os bits que a largura guardaria, e a linha Verificação diz que o valor não cabe. Por exemplo, 128 em 8 bits guarda 10000000, que é lido como −128.

Por que a calculadora usa inteiros exatos para 64 bits?

Um número em JavaScript é exato só até 2^53, e os valores de 64 bits chegam a 2^64. A página usa BigInt, então cada bit é mantido e o limite −9.223.372.036.854.775.808 aparece exatamente.

O Java usa complemento de dois para os seus inteiros?

Sim. A especificação da linguagem Java define os tipos inteiros em complemento de dois, então um int tem 32 bits de complemento de dois, e um long tem 64.

Fontes

Números e texto verificados pela última vez em terça-feira, 10 de novembro de 2026.

Usamos cookies necessários para o site funcionar. Com o seu consentimento, o Google também usa cookies de publicidade para mostrar anúncios personalizados. Se você recusá-los, continuará vendo anúncios, mas eles não serão personalizados.