3 LA CODIFICA DEI NUMERI La rappresentazione dei numeri interi senza segno Quando scriviamo un numero in base 10 o in base 2, solitamente annotiamo solo le cifre necessarie. Per esempio, il numero binario 101 viene scritto utilizzando solo tre cifre. I funzionano in modo diverso perché nella memoria di un computer la dimensione minima di una cella indirizzabile è un byte e quindi le informazioni vengono sempre rappresentate utilizzando un , che normalmente è un multiplo di un byte (8 bit, 16 bit, 32 bit), stabilito a priori. Pertanto, pensare che per scrivere in una memoria il numero 101 siano sufficienti tre cifre e quindi vengano riservati tre bit. 2 calcolatori numero fisso di bit non è corretto 2 All’informazione (per esempio al numero 101 ) viene riservato uno spazio (per esempio 1 byte) prima ancora di conoscere quale numero verrà effettivamente memorizzato. Al momento dell’inserimento del numero, il byte viene completato inserendo, se necessario, degli 0 a sinistra delle cifre che identificano il numero da memorizzare. intero senza segno 2 Riservare lo spazio in memoria a priori, impone un limite massimo ai numeri rappresentabili. Con rappresentabile è 00000000 (cioè 0 ) mentre il rappresentabile è 11111111 (cioè 255 ). Se durante un’addizione (o un’altra operazione aritmetica) si supera 255 il msb viene perso e si verifica un . 1 byte il minimo numero intero senza segno 2 10 massimo numero intero senza segno 2 10 10 overflow ESEMPIO Sommiamo 1 al numero massimo rappresentabile con un byte, cioè 11111111 . 2 2 Il problema dell’ : quando si verifica, occorre fare in modo che il computer possa accorgersi dell’errore e lo possa segnalare. overflow non ha soluzione Attenzione La sequenza di celle del modello logico della memoria descritto nell’ può essere vista sia come una sequenza di byte, sia come una , cioè una successione di “caselline”, ciascuna delle quali può contenere solo uno 0 o un 1. Unità 1 sequenza di bit Attenzione Quando determinati byte vengono riservati per un uso specifico, stabilendo che siano destinati a contenere un certo tipo di informazione (per esempio numeri) si dice che le celle di memoria vengono . allocate Lo sapevi che Nella matematica tradizionale gli zeri prima di un numero intero (per esempio 01) vengono omessi e prendono il nome di , che si traduce con “zero che sta all’inizio”. E adesso chi lo dice a James Bond? leading zero APPROFONDIMENTO - MSB E LSB Poiché il sistema di numerazione utilizzato dai computer è di tipo posizionale, il bit più a sinistra nel byte prende il nome di ( ) e rappresenta la cifra più significativa del numero. Il bit più a destra del byte, invece, prende il nome di ( ) e rappresenta la cifra meno significativa. msb Most Significant Bit lsb Least Significant Bit