Di Kevin Beck Aggiornato il 30 agosto 2022
scyther5/iStock/GettyImages
I numeri negativi sono un concetto familiare, ma convertirli in binario può sembrare controintuitivo se sei abituato solo all’aritmetica decimale. Nel mondo dell'informatica, tuttavia, un metodo standardizzato, il complemento a due, rende questa conversione semplice e affidabile.
Poiché i computer elaborano le informazioni in uno stato binario, ovvero 0 (spento) o 1 (acceso), tutte le operazioni aritmetiche, inclusa la gestione dei valori negativi, vengono infine eseguite utilizzando queste due cifre. Questo design è il motivo per cui nella documentazione tecnica troverai termini come bit, nybble (4 bit), byte (8 bit), parola e parola lunga.
In un sistema binario, ciascuna posizione rappresenta una potenza crescente di due:1, 2, 4, 8, 16 e così via. Una stringa binaria come 0101 ha un valore decimale pari a 5 perché gli 1 occupano le posizioni 1 e 4 (1+4=5). Allo stesso modo, il byte 10011100 si traduce in 128+16+8+4=156 in decimale.
Il complemento di un numero binario si ottiene invertendo ogni bit, ovvero cambiando gli 0 in 1 e gli 1 in 0. Ad esempio, il complemento di 10011100 è 01100011.
Queste semplici conversioni illustrano come i valori binari si associano ai numeri decimali e come viene eseguita l'operazione di complemento.
Per codificare un numero decimale negativo in binario, i programmatori si affidano al complemento a due. Questa tecnica indica al processore di trattare qualsiasi numero binario che inizia con 1 come negativo. I passaggi della conversione sono:
Ad esempio, convertiamo –47:
Il risultato, 11100001, è la rappresentazione in complemento a due di –47, con l'1 iniziale che segnala un valore negativo. Questo metodo è adottato universalmente su piattaforme hardware e software, garantendo una gestione coerente degli interi con segno.