Calcolatrice di Complementi Binari Conversione tra binario e decimale, supporto numeri con segno e calcoli complementari

Risultato della conversione

Calcolatrice del Complemento a Due: Strumento Essenziale per Programmatori

Converti facilmente tra decimale e binario con pieno supporto per numeri con segno. Calcola istantaneamente il complemento a 1 e a 2. Indispensabile per l'architettura dei calcolatori e la programmazione a basso livello.

✨ Funzioni del Convertitore

  • Decimale → Binario: Supporta numeri positivi e negativi
  • Binario → Decimale: Supporto per con segno e senza segno
  • Calcolo Complemento a 1: Inversione bit per bit
  • Calcolo Complemento a 2: Complemento a 1 + 1
  • Conversione Inversa: Da complemento a binario originale
  • Lunghezze di Bit: 8, 16, 32, 64 bit

💡 Cos'è il Complemento a Due?

Il complemento a due è il metodo standard per rappresentare i numeri con segno nei computer moderni.

Complemento a 1: Inverte tutti i bit (0→1, 1→0)

Complemento a 2: Complemento a 1 + 1

Esempio (8 bit):

  • Binario Originale: 00001010 (+10)
  • Complemento a 1: 11110101
  • Complemento a 2: 11110110 (-10)

🛠️ Perché Usare il Complemento a Due?

Vantaggi Hardware:

  • Operazioni Unificate: La somma e la sottrazione utilizzano lo stesso circuito
  • Zero Unico: Esiste una sola rappresentazione dello 0 (niente +0/-0)
  • Intervallo Simmetrico: Per n bit: -2ⁿ⁻¹ a +2ⁿ⁻¹-1
  • Confronto Semplice: Può essere confrontato direttamente come intero senza segno

Esempio di Sottrazione con Complemento a 2:

A - B = A + (-B) = A + complemento_a_2(B)

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

💻 Applicazioni nella Programmazione

  • C/C++: I tipi int, short, long usano il complemento a due
  • Java: Tutti i tipi interi sono con segno (complemento a due)
  • Python: Interi a precisione arbitraria, internamente usa il complemento a due
  • Operazioni a Livello di Bit: Shift, maschere, XOR

Riferimento: Complemento a due - Wikipedia

Metodi di conversione da decimale a binario in vari linguaggi di programmazione

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)