Pubblicità

Il complemento a 1 e a 2 è un metodo utilizzato nei computer per rappresentare i numeri negativi in binario.
Poiché il computer lavora solo con zeri e uni, serve un modo per distinguere i numeri positivi da quelli negativi. Esistono tre modi principali per rappresentarli:

  • Modulo e segno
  • Complemento a 1
  • Complemento a 2

Rappresentazione in Modulo e Segno

Nel metodo del modulo e segno, il bit più a sinistra (MSB) indica il segno del numero:

  • 0 = numero positivo
  • 1 = numero negativo

I restanti bit rappresentano il valore assoluto (cioè il modulo) del numero.

Esempio con 4 bit:

  • 0101 = +5
  • 1101 = -5

Limite: questo metodo ha due rappresentazioni per lo zero: 0000 e 1000.
Inoltre, le operazioni di somma e sottrazione risultano più complesse, motivo per cui nei computer moderni si preferisce il complemento a 2.


Complemento a 1

Il complemento a 1 si ottiene invertendo tutti i bit del numero binario:

  • gli 0 diventano 1
  • i 1 diventano 0

Esempio:
Numero binario: 0101 (che vale 5 in decimale)
Complemento a 1 → 1010

Questa operazione rappresenta il “negativo” del numero binario, ma presenta un problema: esistono due rappresentazioni dello zero (0000 e 1111). Per questo motivo si preferisce usare il complemento a 2.


Complemento a 2

Il complemento a 2 è il metodo più usato dai computer per gestire i numeri negativi.
Per ottenerlo si procede in due passaggi:

  1. Si calcola il complemento a 1 del numero.
  2. Si aggiunge 1 al risultato ottenuto.

Esempio:
Numero binario: 0101 (5 in decimale)

  1. Complemento a 1 → 1010
  2. Aggiungo 1 → 1011
1010+
   1
-----
1011

Il numero 1011 rappresenta quindi -5 in complemento a 2 (con 4 bit).


Perché si usa il complemento a 2

  • Permette di eseguire addizioni e sottrazioni con la stessa logica dei numeri positivi.
  • Elimina il problema del doppio zero.

Esempio pratico completo

Supponiamo di avere un registro a 4 bit:

Numero decimaleBinarioComplemento a 1Complemento a 2
+5010110101011
+3001111001101
-5——————-10101011
-3——————-11001101

Come si vede, il complemento a 2 rappresenta i numeri negativi in modo coerente e semplice da elaborare.


Conclusione

  • Modulo e segno: indica il segno con il primo bit, ma ha due zeri.
  • Complemento a 1: inverte i bit, ma ha ancora due zeri.
  • Complemento a 2: inverte i bit e aggiunge 1 → è il metodo più usato e preciso.

Il complemento a 2 è oggi lo standard nei computer per rappresentare i numeri negativi in binario.