Calculadora de Complemento de Dois Conversão entre Decimal, Binário, Complemento de 1 e Complemento de 2

Resultado da conversão

Calculadora de Complemento de Dois: Ferramenta Essencial para Programadores

Converta facilmente entre decimal e binário com suporte completo para números com sinal. Calcule instantaneamente o complemento de 1 e 2. Essencial para arquitetura de computadores e programação de baixo nível.

✨ Funções do Conversor

  • Decimal → Binário: Suporta números positivos e negativos
  • Binário → Decimal: Suporte para com sinal e sem sinal
  • Cálculo de Complemento de 1: Inversão de bits
  • Cálculo de Complemento de 2: Complemento de 1 + 1
  • Conversão Inversa: De complemento para binário original
  • Comprimentos de Bits: 8, 16, 32, 64 bits

💡 O que é o Complemento de Dois?

O complemento de dois é o método padrão para representar números com sinal nos computadores modernos.

Complemento de 1: Inverte todos os bits (0→1, 1→0)

Complemento de 2: Complemento de 1 + 1

Exemplo (8 bits):

  • Binário Original: 00001010 (+10)
  • Complemento de 1: 11110101
  • Complemento de 2: 11110110 (-10)

🛠️ Por Que Usar o Complemento de Dois?

Vantagens de Hardware:

  • Operações Unificadas: A soma e a subtração usam o mesmo circuito
  • Zero Único: Existe apenas uma representação de 0 (sem +0/-0)
  • Faixa Simétrica: Para n bits: -2ⁿ⁻¹ a +2ⁿ⁻¹-1
  • Comparação Simples: Pode ser comparado diretamente como inteiros sem sinal

Exemplo de Subtração com Complemento de 2:

A - B = A + (-B) = A + complemento_de_2(B)

5 - 3 = 5 + (-3) = 0101 + 1101 = 0010 = 2

💻 Aplicações em Programação

  • C/C++: Os tipos int, short, long usam complemento de dois
  • Java: Todos os tipos inteiros são com sinal (complemento de dois)
  • Python: Inteiros de precisão arbitrária, internamente usa complemento de dois
  • Operações a Nível de Bits: Deslocamentos, máscaras, XOR

Referência: Complemento para dois - Wikipedia

Métodos de conversão de decimal para binário em várias linguagens de programação

JavaInteger.toBinaryString(decimal_number)
JavaScriptlet binary = decimal_number.toString(2);
Microsoft .NET / C#string binary = Convert.ToString(decimal_number, 2);
Pythonbinary = bin(decimal_number)[2:]
Rubybinary = decimal_number.to_s(2)
Go import strconv
binary := strconv.FormatInt(decimal_number, 2)
X