1. Numeri Interi e Gestione del Segno
Nei sistemi di elaborazione digitale, la memoria è composta da sequenze di bit (0 e 1). Per rappresentare i numeri interi negativi e positivi a livello hardware senza ambiguità, si ricorre a codifiche standardizzate. Storicamente sono stati ideati tre metodi principali: Modulo e Segno (dove il bit più significativo o MSB indica il segno: 0 per positivo, 1 per negativo), Complemento a Uno (inversione bit a bit dei numeri positivi), e il Complemento a Due, che rappresenta lo standard industriale odierno in quanto elimina il problema del doppio zero ($+0$ e $-0$) e semplifica drasticamente i circuiti aritmetici della ALU.
2. L'Algoritmo del Complemento a Due
Dato un numero intero negativo in un formato a n bit, la sua codifica in complemento a due si ottiene mediante la seguente procedura algebrica:
- Passo 1: Si considera il valore assoluto del numero e lo si converte in binario puro su
nbit. - Passo 2: Si esegue il Complemento a Uno invertendo tutti i bit (gli
0diventano1e gli1diventano0). - Passo 3: Si somma algebricamente
1al bit meno significativo (LSB) ignorando eventuali riporti oltre glinbit stabiliti.
• Intervallo Numerico Gestibile: da $-2^{n-1}$ fino a $+2^{n-1} - 1$.
• Esempio su 8 bit ($1 byte$): da $-128$ a $+127$.
• Controllo del Segno: Se l'MSB è 1, il numero è negativo; se è 0, il numero è positivo o nullo.
📝 Esercizio Esempio Guidato
Testo: Rappresenta il numero decimale -5 in codice binario a complemento a due su 8 bit.
Risoluzione passo-passo:
- Scriviamo il valore assoluto $+5$ su 8 bit:
00000101. - Invertiamo tutti i bit (Complemento a 1):
11111010. - Sommiamo
1al numero ottenuto:11111010 + 1 = 11111011.
🎯 Soluzione: 111110112
3. Simulatore Interattivo di Complemento a Due
Inserisci un numero decimale compreso tra -128 e 127 per calcolarne la rappresentazione binaria a 8 bit in complemento a due in tempo reale.