II sistemi sistemi di di numerazione numerazione Informatica - Classe 3ª, Modulo 1 1 La La rappresentazione rappresentazione interna interna delle delle informazioni informazioni ELABORATORE = macchina binaria Informazione esterna Sequenza di bit Sp e Via tt. Ditt a Cag Roma Ross i liar 1 i Il s o Ver ttoscr it di , nat to Ma oa r …… io ... 2 INFORMAZIONE ALFANUMERICA NUMERICA Non soggetta a calcoli Codifica tabellare ASCII, UNICODE, … Soggetta a calcoli Sistemi di numerazione BINARIA, FLOATING POINT 3 Sistema Sistema di di numerazione numerazione DECIMALE DECIMALE Quali segni usi per scrivere i numeri? Le cifre 0 1 2 345678e9 CIFRE = simboli grafici usati da soli o in sequenza per rappresentare un numero 4 Sistema Sistema di di numerazione numerazione DECIMALE 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 Sistema di di numerazione numerazione BINARIO 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 Sistema di di numerazione numerazione BINARIO 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 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 4 =3• b 5-1 3 2 1 5-2 5-3 5-4 x5 x4 x3 x2 x1= x5 •b + x5-1 •b +x5-2•b +x5-3•b n-1 xn xn-1……x1= xn•b 0 + 2 • b + 5 • b + 6 •b + 5 •b n-2 + xn-1•b 0 +x1•b 0 +…………..………+x1•b 9 Formalizzazioni Formalizzazioni In qualunque sistema di numerazione posizionale vale la seguente relazione: xn xn-1………x1 = xn•bn-1+ xn-1•bn-2+……+x1•b0 in cui: n è il numero di cifre del numero b è la base xi è 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 Passaggio da da binario binario aa decimale decimale 1° METODO Sfrutta la relazione precedente: n-1 n-2 0 xn xn-1……x1 =xn•b + xn-1•b +…+x1•b in cui xn xn-1……x1 è il numero binario da convertire in decimale e b = 2 ESEMPIO: xn xn-1……x1 = 10110 4 3 2 1 0 (10110)2 = (1•2 +0•2 +1•2 +1•2 +0•2 )10 = (1•16+0•8+1•4+1•2+0•1 )10 = (16+4+2 )10 = (22)10 Base Base 11 Passaggio Passaggio da da binario binario aa decimale decimale 2° METODO Si scrivono, da destra verso sinistra, le potenze di 2: … 128 Si 64 32 16 8 4 2 1 64 32 16 1 8 0 4 1 2 1 1 0 16 8 4 2 1 0 1 1 16 + 4 + 2 = (22)10 1 0 scrive il numero da convertire ponendo una cifra sotto ogni potenza, a partire da destra: 128 Si sommano le potenze corrispondenti alle cifre 1: 128 64 32 12 Passaggio Passaggio da da decimale decimale aa binario 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 62 : 2 = 31 31 : 2 = 15 15 : 2 = 7 7:2=3 3:2=1 1:2=0 resto resto resto resto resto resto resto 1 0 1 1 1 1 1 13 Sistema Sistema di di numerazione numerazione ESADECIMALE 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 Passaggio da da esadecimale esadecimale aa decimale decimale Sfrutta la solita relazione: n-1 n-2 0 xn xn-1……x1 =xn•b + xn-1•b +…+x1•b in cui xn xn-1……x1 è il numero esadecimale da convertire in decimale e b = 16 2 1 0 (2E4)16= (2•16 + E•16 + 4•16 )10 = (2•256 +14•16 + 4•1)10 = (512 + 224 + 4)10 = (740)10 15 Passaggio Passaggio da da decimale decimale aa esadecimale 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 Passaggio da da binario binario aa esadecimale 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 716 D16 17 Passaggio Passaggio da da esadecimale esadecimale aa binario binario Si sostituisce a ciascuna cifra esadecimale il corrispondente numero binario espresso sempre come gruppo di quattro cifre ESEMPIO: (D7)16 = (11010111)2 D16 716 1310 710 (1 1 0 1)2 (0 1 1 1)2 18 La La rappresentazione rappresentazione interna interna delle delle informazioni informazioni INFORMAZIONE ALFANUMERICA Codifica tabellare ASCII, UNICODE NUMERICA Sistemi di numerazione BINARIA, FLOATING POINT 19 La La rappresentazione rappresentazione delle delle informazioni informazioni ALFANUMERICHE 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=28, pari ai numeri binari ottenibili con 8 bit (da 00000000 a 11111111). 20 La La rappresentazione rappresentazione delle delle informazioni informazioni ALFANUMERICHE 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 La rappresentazione rappresentazione delle delle informazioni informazioni ALFANUMERICHE 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 La rappresentazione rappresentazione delle delle informazioni informazioni NUMERICHE 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 BINARIO Reale FLOATING POINT 23 La La rappresentazione rappresentazione dei dei numeri numeri INTERI INTERI relativi relativi (con (con segno) 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 è 3276710 pari a 01111111111111112 (solo 15 bit sono disponibili per il numero) Il numero minimo rappresentabile con 2 byte è -3276810 pari a 10000000000000002 24 La La rappresentazione rappresentazione dei dei numeri numeri INTERI INTERI relativi relativi (con (con segno) segno) ESEMPIO: memorizzare il numero 9045 in 2 byte 9045 : 2 = 4522 resto 4522 : 2 = 2261 resto 2261 : 2 = 1130 resto 1130 : 2 = 565 resto 565 : 2 = 282 resto 282 : 2 = 141 resto 141 : 2 = 70 resto 70 : 2 = 35 resto 1 0 1 0 1 0 1 0 35 : 2 = 17 17 : 2 = 8 8:2=4 4:2=2 2:2=1 1:2=0 resto resto resto resto resto resto 1 1 0 0 0 1 904510 = 100011010101012 In 2 byte: 0 010 0011 0101 0101 Segno 25 La La rappresentazione rappresentazione dei dei numeri numeri REALI 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 La rappresentazione rappresentazione dei dei numeri numeri REALI 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 Glossario = 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 ) Base 28 Glossario Glossario 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 9ABCDEF) 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 Sistema 29