LA CODIFICA DEI NUMERI 3 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. 2 I funzionano in modo diverso: le informazioni, nel caso specifico i numeri, vengono sempre rappresentate utilizzando un , che normalmente è un multiplo di un (8 bit, 16 bit, 32 bit), stabilito a priori. calcolatori numero fisso di bit byte Come sappiamo, la di un computer è rappresentabile con una sequenza di celle ognuna della dimensione di un byte. La cella può essere vista anche come una , cioè una successione di “ ”, ciascuna delle quali può contenere solamente uno 0 o un 1. memoria sequenza di bit caselline Pertanto pensare che per scrivere in una memoria il numero 101 siano sufficienti tre cifre e quindi vengano riservati tre bit. non è corretto 2 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 . Questo avrebbe senso per un computer ideale , ma i computer reali devono tenere conto, del fatto che la dimensione minima di una cella indirizzabile è un byte. All’informazione numerica viene quindi riservato uno spazio (per esempio 1 byte) prima ancora di conoscere quale numero verrà effettivamente memorizzato. Al momento dell’inserimento del numero intero senza segno (per esempio 101 2 ) il byte viene completato inserendo, se necessario, degli 0 a sinistra delle cifre che identificano il numero da memorizzare. Lo sapevi che Nella matematica tradizionale gli zeri prima di un numero intero (per esempoi 01) vengono omessi e prendono il nome di   leading zero , che si traduce con “zero che sta all’inizio”. E adesso chi lo diche a James Bond? 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   msb   ( Most Significant Bit ) e rappresenta la cifra più significativa del numero. Il bit più a destra del byte, invece, prende il nome di   lsb   ( Least Significant Bit ) e rappresenta la cifra meno significativa.  >> pagina 70 La problematica dell’overflow Riservare lo spazio in memoria a priori, impone un limite massimo ai numeri rappresentabili con un numero finito di bit. Con il rappresentabile è 00000000 (cioè 0 ) mentre il rappresentabile è 11111111 (cioè 255 ). 1 byte minimo numero intero senza segno 2 10 massimo numero intero senza segno 2 10 Si verifica quindi un’annosa problematica: quella dell’    . ▶ overflow esempio Sommiamo 1 al numero massimo rappresentabile con un byte, cioè 11111111 . 2 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 1 1 1 1 1 1 1 2 + 1 2 = 1 0 0 0 0 0 0 0 0 2 Il risultato matematico corretto, nell’esempio, necessiterebbe di una cifra in più che però nel computer non è disponibile. L’ultimo riporto a sinistra non ha una “casellina” (bit) dove poter essere scritto. Di conseguenza viene perso e si verifica un : all’interno del byte viene scritto un (nell’esempio proposto viene scritto 0). In ogni caso, nei calcolatori il numero di bit disponibili è prefissato e l’overflow non ha una soluzione: quando si verifica occorre fare in modo che il computer possa accorgersi dell’errore e lo possa segnalare. overflow risultato sbagliato L’overflow può verificarsi anche con le . altre operazioni aritmetiche                             /   o  overflow straripamento eccedenza SCHEDA CLIL   wh47’5 1337 5p34k? Leet speak   is a language born on the web with the goal to transform messages into unrecognizable writings. Inside a leet phrase, many characters are replaced with numbers or symbols that esthetically look like the replaced letters. For example, the character “E” can be replaced by “3” whereas “M” can be replaced by a sequence of slashes and backslashes “/\/\”. Leet words are comprehensible for humans with little effort, and so they represent a valid method to create complex passwords, easy to be remembered, even if, as the method is known, it’s not to be considered too safe. The expression   comes from the abbreviation of     and it refers to the fact that using this form of writing makes the difference between who is able to write in this way and who is not. leet speak ▶ élite speak   /  élite speak  linguaggio d’élite Challenge yourself!   Can you read this message? 7H15 M3554G3 53RV35 7O PR0V3 H0W 0UR M1ND5 C4N D0 4M4Z1NG 7H1NG5! 1MPR3551V3 7H1NG5! 1N 7H3 B3G1NN1NG 17 WA5 H4RD BU7 N0W, 0N 7H15 LIN3 Y0UR M1ND 1S R34D1NG 17 AU70M471C4LLY W17H0U7 3V3N 7H1NK1NG 4B0U7 17, B3 PROUD! 0NLY C3R741N P30PL3 C4N R3AD 7H15!