I sistemi di numerazione Informatica - Classe 3ª, Modulo 1 1
La rappresentazione interna delle informazioni ELABORATORE = macchina binaria Informazione esterna Sequenza di bit Spett. Ditta Rossi Via Roma 1 Cagliari Il sottoscritto Mario Verdi, nato a... 2
INFORMAZIONE ALFANUMERICA NUMERICA Non soggetta a calcoli Soggetta a calcoli Codifica tabellare Sistemi di numerazione ASCII, UNICODE, BINARIA, FLOATING POINT 3
Sistema di di numerazione DECIMALE Quali segni usi per scrivere i numeri? Le cifre 0 1 2 3 4 5 6 7 8 e 9 CIFRE = simboli grafici usati da soli o in sequenza per rappresentare un numero 4
Sistema di di numerazione DECIMALE Il numero 152 è uguale al numero 521? NO!!! Il valore della cifra dipende dalla posizione che ha nel numero VALORE POSIZIONALE = il valore attribuito alla cifra di un numero 5
Hai un sistema per rappresentare e usare i numeri? CERTO! Uso un sistema di numerazione posizionale: il sistema DECIMALE SISTEMA DI NUMERAZIONE DECIMALE = insieme di regole e simboli ( le 10 cifre 0 1 2 3 4 5 6 7 8 9) che servono per rappresentare i numeri e in cui una stessa cifra assume significato diverso a seconda della posizione occupata nel numero 6
Sistema di numerazione BINARIO E tu che segni usi per scrivere i numeri? Siccome ho due dita e per contare voglio utilizzare solo una mano, uso solo le cifre 0 e 1 7
Sistema di di numerazione BINARIO Anche il tuo è un sistema posizionale? Si. Il valore posizionale della cifra dipende dalle potenze successive della base BASE = n di cifre utilizzabili e valore le cui potenze successive determinano il valore posizionale della cifra 8
Esempio Sistema decimale: numero = 32565 b = 10 n = 5 (numero delle cifre) VALORE POSIZIONALE 3 2 5 6 5 = 30000 + 2000 + 500 + 60 + 5 = 3 10000 + 2 1000 + 5 100 + 6 10 + 5 1 = 3 b 4 + 2 b 3 + 5 b 2 + 6 b 1 + 5 b 0 x 5 x 4 x 3 x 2 x 1 = x 5 b 5-1 + x 5-1 b 5-2 +x 5-2 b 5-3 +x 5-3 b 5-4 +x 1 b 0 x n x n-1 x 1 = x n b n-1 + x n-1 b n-2 +.. +x 1 b 0 9
Formalizzazioni In qualunque sistema di numerazione posizionale vale la seguente relazione: x n x n-1 x 1 = x n b n-1 + x n-1 b n-2 + +x 1 b 0 in cui: n è il numero di cifre del numero b è la base x i è una generica cifra scelta tra le b cifre possibili i (indice della cifra) indica la posizione della cifra nel numero contando da destra verso sinistra 10
Passaggio da binario a decimale 1 METODO Sfrutta la relazione precedente: x n x n-1 x 1 =x n b n-1 + x n-1 b n-2 + +x 1 b 0 in cui x n x n-1 x 1 è il numero binario da convertire in decimale e b = 2 ESEMPIO: x n x n-1 x 1 = 10110 (10110) 2 = (1 2 4 +0 2 3 +1 2 2 +1 2 1 +0 2 0 ) 10 = (1 16+0 8+1 4+1 2+0 1 ) 10 = (16+4+2 ) 10 Base = (22) 10 Base 11
Passaggio da binario a decimale 2 METODO Si scrivono, da destra verso sinistra, le potenze di 2: 128 64 32 16 8 4 2 1 Si scrive il numero da convertire ponendo una cifra sotto ogni potenza, a partire da destra: 128 64 32 16 8 4 2 1 1 0 1 1 Si sommano le potenze corrispondenti alle cifre 1: 0 128 64 32 16 8 4 2 1 1 0 1 1 0 16 + 4 + 2 = (22) 10 12
Passaggio da decimale a binario Si effettuano le divisioni per 2 del numero di partenza e dei successivi quozienti fino ad ottenere quoziente 0. Si scrivono quindi i resti ottenuti in ordine inverso rispetto a quello di calcolo ESEMPIO: (125) 10 = (1111101) 2 125 : 2 = 62 resto 1 62 : 2 = 31 resto 0 31 : 2 = 15 resto 1 15 : 2 = 7 resto 1 7 : 2 = 3 resto 1 3 : 2 = 1 resto 1 1 : 2 = 0 resto 1 13
Sistema di numerazione ESADECIMALE Sistema di numerazione posizionale che utilizza 16 cifre: BASE = 16 CIFRE = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F} 16 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 14
Passaggio da esadecimale a decimale Sfrutta la solita relazione: x n x n-1 x 1 =x n b n-1 + x n-1 b n-2 + +x 1 b 0 in cui x n x n-1 x 1 è il numero esadecimale da convertire in decimale e b = 16 (2E4) 16 = (2 16 2 + E 16 1 + 4 16 0 ) 10 = (2 256 +14 16 + 4 1) 10 = (512 + 224 + 4) 10 = (740) 10 15
Passaggio da decimale a esadecimale Si effettuano le divisioni per 16 del numero di partenza e dei successivi quozienti fino ad ottenere quoziente 0. Si scrivono quindi i resti ottenuti in ordine inverso rispetto a quello di calcolo ricordando che A=10, B=11, C=12, D=13, E=14, F=15 ESEMPIO: (125) 10 = ( 7D ) 16 125 : 16 = 7 resto 13=D 7 : 16 = 0 resto 7 16
Passaggio da binario a esadecimale Si dividono le cifre del numero binario in gruppi di quattro, da destra verso sinistra. Si sostituisce a ciascun gruppo la cifra esadecimale corrispondente ESEMPIO: (1111101) 2 = ( 7D ) 16 0 1 1 1 1 1 0 1 (4+2+1) 10 (8+4+1) 10 7 16 D 16 17
Passaggio da esadecimale a binario Si sostituisce a ciascuna cifra esadecimale il corrispondente numero binario espresso sempre come gruppo di quattro cifre ESEMPIO: (D7) 16 = (11010111) 2 D 16 7 16 13 10 7 10 (1 1 0 1) 2 (0 1 1 1) 2 18
La rappresentazione interna delle informazioni INFORMAZIONE ALFANUMERICA NUMERICA Codifica tabellare ASCII, UNICODE Sistemi di numerazione BINARIA, FLOATING POINT 19
La rappresentazione delle informazioni ALFANUMERICHE Codifica tabellare: ad ogni carattere (lettera, cifra, segno speciale) corrisponde una particolare sequenza di bit e viceversa. Codice ASCII: è la codifica tabellare standard in ambiente P.C. È un codice a 8 bit, cioè utilizza una sequenza di 8 bit (1 byte) per rappresentare un carattere. Caratteri rappresentabili: corrisponde al numero di combinazioni (sequenze) di bit ottenibili. Per il codice ASCII sono 256=2 8, pari ai numeri binari ottenibili con 8 bit (da 00000000 a 11111111). 20
La rappresentazione delle informazioni ALFANUMERICHE 1 ESEMPIO: per memorizzare il cognome Verdi con il codice ASCII servono 5 byte, uno per ogni carattere. Dalla tabella ASCII si rileva: V 01010110 e 01100101 r 01110010 d 01100100 i 01101001 Pertanto Verdi in memoria si presenta così: 01010110 01100101 01110010 01100100 01101001 21
La rappresentazione delle informazioni ALFANUMERICHE 2 ESEMPIO: per memorizzare il CAP di Quartu 09045 con il codice ASCII servono 5 byte, uno per ogni carattere. Dalla tabella ASCII si rileva: 0 00110000 9 00111001 0 00110000 4 00110100 5 00110101 Pertanto 09045 in memoria si presenta così: 00110000 00111001 00110000 00110100 00110101 22
La rappresentazione delle informazioni NUMERICHE Informazione numerica: è un NUMERO e come tale rappresenta una quantità ed è destinato ai calcoli. Per rappresentarla si utilizza il sistema di numerazione binario, anche se con diversi metodi. NUMERO Intero Reale BINARIO FLOATING POINT 23
La rappresentazione dei numeri INTERI relativi (con segno) E stabilito il numero di byte da utilizzare per il numero L intervallo di numeri rappresentabili dipende dal numero di byte disponibili Il primo bit a sinistra rappresenta il segno (0 per i positivi, 1 per i negativi) Il numero da rappresentare viene convertito in binario Per i numeri negativi si utilizza il complemento a 2 Il numero massimo rappresentabile con 2 byte è 32767 10 pari a 0111111111111111 2 (solo 15 bit sono disponibili per il numero) Il numero minimo rappresentabile con 2 byte è -32768 10 pari a 1000000000000000 2 24
La rappresentazione dei numeri INTERI relativi (con segno) ESEMPIO: memorizzare il numero 9045 in 2 byte 9045 : 2 = 4522 resto 1 35 : 2 = 17 resto 1 4522 : 2 = 2261 resto 0 17 : 2 = 8 resto 1 2261 : 2 = 1130 resto 1 8 : 2 = 4 resto 0 1130 : 2 = 565 resto 0 4 : 2 = 2 resto 0 565 : 2 = 282 resto 1 2 : 2 = 1 resto 0 282 : 2 = 141 resto 0 1 : 2 = 0 resto 1 141 : 2 = 70 resto 1 70 : 2 = 35 resto 0 9045 10 = 10001101010101 2 In 2 byte: Segno 0 010 0011 0101 0101 25
La rappresentazione dei numeri REALI Esistono diversi metodi per rappresentare i numeri reali: Virgola fissa (fixed point): è il metodo normalmente utilizzato dall uomo; consiste nel separare la parte intera da quella decimale mediante il punto (si utilizza la notazione anglosassone): 1.5 0.00123 12.564 5000000 Virgola mobile (FLOATING POINT): è il metodo utilizzato per i calcoli scientifici ed è detto anche notazione scientifica o notazione esponenziale: 0.15E+1 0.123E-2 0.12564E+2 0.5E+7 La parte prima della lettera E si chiama mantissa (0.15 0.123 0.12564 0.5), la parte dopo E si chiama caratteristica (+1-2 +2 +7). La lettera E indica che la mantissa deve essere moltiplicata per 10 elevato la caratteristica 26
La rappresentazione dei numeri REALI Nelle memorie dei computer si utilizza più spesso il metodo FLOATING POINT: Viene stabilito il numero di byte da destinare alla rappresentazione del numero. Si parla di precisione Dei byte disponibili, una parte viene destinata alla mantissa ed al suo segno e una parte alla caratteristica ed al suo segno Alla caratteristica è sempre destinato un numero di byte inferiore a quello destinato alla mantissa Convenzionalmente, se si destinano: 4 byte si parla di singola precisione 8 byte si parla di doppia precisione FINE 27
Glossario Base = n di cifre utilizzabili e valore le cui potenze successive determinano il valore posizionale della cifra Cifra = simbolo grafico usato da solo o in sequenza per la rappresentazione dei numeri Sistema di Numerazione = insieme di regole e simboli per la rappresentazione e l uso dei numeri Sistema di Numerazione Binario = S.d.n. posizionale in base 2 ( cifre 0 1 ) 28
Glossario Sistema di Numerazione Decimale = S.d.n. posizionale in base 10 ( cifre 0 1 2 3 4 5 6 7 8 9) Sistema di Numerazione Esadecimale = S.d.n. posizionale in base 16 ( cifre 0 1 2 3 4 5 6 7 8 9 A B C D E F ) Sistema di Numerazione Posizionale = S.d.n. in cui il valore della cifra dipende dalla posizione occupata nel numero Valore Posizionale = il valore attribuito alla cifra di un numero 29