SISTEMI DI NUMERAZIONE E RAPPRESENTAZIONE DEI NUMERI Sistema di numerazione Si dice Sistema di numerazione un Insieme di simboli (detto BASE) per rappresentare i numeri e di regole per eseguire le operazioni Esempio: sistema DECIMALE: Significa che ci sono 10 dieci simboli diversi cioè BASE 10 (0 1 2 3 4 5 6 7 8 9) E si applicano le usuali regole dell’addizione/sottrazione/moltiplicazione/divisione I Sistemi di numerazione BASE del sistema = 10 (non è usato in Informatica perché la base non è potenza di 2) D Sistemi usati in INFORMATICA perché le basi sono potenze di 2: • il sistema BINARIO - base 2: due simboli (0 e 1) • il sistema OTTALE – base 8: otto simboli ( 0 1 2 3 4 5 6 7) • il sistema ESADECIMALE – base 16: sedici simboli (0 1 2 3 4 5 6 7 8 9 A B C D E F) Sistemi di numerazione posizionali • Assumono particolare importanza i sistemi di numerazione detti posizionali e sono il Decimale, Binario, Ottale ed Esadecimale • Cioè ogni numero è espresso come sommatoria di simboli (cifre) moltiplicate per la base elevata a potenze crescenti: • es. 467,5 = 4 x 102+6 x 101 + 7 x 100+ 5 x 10-1 Conversione decimale - binario 37 decimale in binario = 1 0 0 1 0 1 37 : 2 = 18 resto 1 18 : 2 = 9 resto 0 9 : 2 = 4 resto 1 4 : 2 = 2 resto 0 2 : 2 = 1 resto 0 1 : 2 = 0 resto 1 Il nostro numero binario sarà formato dai resti delle divisioni presi in ordine contrario alle operazioni di divisione,cioè: L’ultimo resto diventa la prima cifra del numero convertito, il penultimo resto la seconda cifra etc. Conversione binario - decimale Numerazione posizione 100101 150403120110 Poi si moltiplichi ogni cifra del nostro numero binario per 2 elevato alla posizione della cifra corrispondente 1 x 25 + 0 x 24 + 0 x 23 + 1 x 22 + 0 x 21 + 1 x 20 = 1 x 32 + 0 x 16 + 0 x 8 + 1 x 4 + 0 x 2 + 1 x 1 = 32 + 0 + 0 + 4 + 0 + 1 = 37 Addizione tra numeri binari Regola dell’addizione in binario: 0+1=1 1+0=1 1+1=10 (si dice uno-zero e non dieci!) Esempio: Sommiamo i due numeri binari 10010 e 11011 Riporto 1 1 I addendo 1 0 0 1 0 II addendo 1 1 0 1 1 somma 1 0 1 1 0 1 + = Verifichiamo con il sistema decimale Numero binario Numero decimale 10010 + 11011 = 101101 18 27 45 Addizione tra numeri binari Esempio: Sommiamo i due numeri binari 10110 e 10011 Riporto 1 1 1 I addendo 1 0 1 1 0 II addendo 1 0 0 1 1 somma 1 0 1 0 0 1 + = Verifichiamo con il sistema decimale Numero binario 10110 + 10011 = 101001 Numero decimale 22 19 41 Sottrazioni tra numeri binari Bisogna tenere conto che ogni volta che si deve sottrarre dalla cifra 0 la cifra 1 occorre chiedere in prestito una unità alla cifra di ordine immediatamente superiore e che essa vale 1 unità' dell'ordine immediatamente inferiore. Dopo il prestito dell’unità ovviamente resta 0. Esempio: Sottraiamo al numero binario 11010 il numero binario 1001 Prestito Minuendo 1 1 1 0 1 0 1 0 0 1 = Sottraendo Differenza 1 0 0 0 1 Verifichiamo con il sistema decimale Numero binario Numero decimale 11010 26 1001 = 10001 9= 17 Sottrazioni tra numeri binari Esempio: Sottraiamo al numero binario 11110 il numero binario 1010 Prestito Minuendo 1 1 1 1 0 Sottraendo 1 0 1 0 = Differenza 1 0 1 0 0 Verifichiamo con il sistema decimale Numero binario Numero decimale 111101010 = 10100 3110 = 20 Moltiplicazioni tra numeri binari Regola della moltiplicazione: 1x0=0 0x1=0 1x1=1 Esempio: Moltiplichiamo il numero binario 110 con il numero binario 11 I Fattore II Fattore I prodotto parziale II prodotto parziale Riporti Prodotto 1 1 0 x 1 1 = 1 1 0 1 1 0 1 1 0 0 1 0 Verifichiamo con il sistema decimale Numero binario Numero decimale 110 x 6x 11 = 3= 10010 18 Moltiplicazioni tra numeri binari Esempio: Moltiplichiamo il numero binario 101 con il numero binario 10 I Fattore II Fattore I prodotto parziale II prodotto parziale 1 0 1 x 1 0 = 0 0 0 1 0 1 Riporti Prodotto 1 0 1 0 Verifichiamo con il sistema decimale Numero binario Numero decimale 101 x 5x 10 = 1010 2= 10 Conversione negativo decimale - binario Esempio: Trasformiamo il numero decimale -18 in un numero binario 1. Trasformare il numero decimale in binario considerandolo positivo ( valore assoluto) , quindi non -18 ma 18 2. Trasformare il numero binario assoluto nel suo reciproco 3. Aggiungere 1 Numero decimale 18 Numero Binario 0 0 0 1 0 0 1 0 = 1 1 1 0 1 1 0 1 + 1 = -18 1 1 1 0 1 1 1 0 Conversione decimale frazionario - binario Per convertire il numero decimale 24,3 in binario si esegue la conversione di 24 come abbiamo visto precedentemente e poi si deve convertire la parte decimale 0,3 • • • • REGOLA DI ESECUZIONE: Si stabilisce in quante cifre si deve convertire il numero (ad. Es. su 5 cifre) Si moltiplicherà 0,3 (numero che si vuole convertire in base binaria) x 2 Si ottiene una parte intera ed una decimale • REGOLA DI ARRESTO: Quando la parte decimale diventa zero oppure quando si arriva al numero prefissato di cifre nella nuova base (ad esempio 5 cifre decimali) • REGOLA DI COMPOSIZIONE: • il numero convertito si ottiene prelevando tutte le parti intere dalla prima fino all’ultima e Conversione decimale frazionario - binario ESEMPIO: convertire 0,3 Parte intera Parte decimale Numero decimale o 24 = 11000 0,3 = 010011 24,3 = 11000,01001 0,3x2= 0,6 0 0,6 0,6X2= 1,2 1 0,2 0,2X2= 0,4 0 0,4 0,4X2= 0,8 0 0,8 Numero decimale 0,8X2= 1,6 1 0,6 24 = 0,6X2= 1,2 0 0,2 0,3 = … … … … 24,3 = Numero binario 11000 0,3 in binario diventa su cinque cifre decimali 0, 01 001 N.B. Se si converte 0,01001 non si ottiene esattamente 0,3 ma 0,01001 = 0x2-1+1x2-2+0x2-3 +0x2-4+1x2-5 =1/4+1/64 = 0,25+0,015625=0,2656 che arrotondato per eccesso è uguale a 0,3 Binario Ottale Decimale Esade cimale 0 000 0 0 0 0 001 1 1 1 0 010 2 2 2 0 011 3 3 3 0 100 4 4 4 0 101 5 5 5 0 110 6 6 6 0 111 7 7 7 1000 10 8 8 1001 11 9 9 1010 12 10 A Binario Ottale Decimale Esadecimale 1011 13 11 B 1100 14 12 C 1101 15 13 D 1110 16 14 E 1111 17 15 F TABELLA per le CONVERSIONI DI BASE N.B. 3 cifre binarie corrispondono ad 1 cifra ottale 4 cifre binarie ad 1 cifra esadecimale Conversione OTTALE - binario REGOLA: Per convertire un numero ottale in binario si deve ricordare che ogni cifra ottale si converte MEDIANTE LA TABELLA per le conversioni in TRE cifre binarie Esempio: 754 in ottale Cifra ottale 7 = cifre binarie desunte da tabella di conversione 111 5 = 101 4 = 100 754 in ottale si converte in 111 101 100 binario Conversione binario - OTTALE REGOLA: Per convertire un numero binario si deve ricordare che 3 cifre binarie partendo da destra corrispondono MEDIANTE LA TABELLA per le conversioni ad una cifra ottale Esempio: 10110111 in binario deve essere diviso in terne di cifre come indicato, aggiungendo eventuali zeri non significativi per completare l’ultima terna 010 110 111 Cifre binarie 010 = Cifra ottale desunta da tabella di conversione 2 110 = 6 111 = 7 010 110 111 si converte in 2 6 7 ottale Conversione ESADECIMALE - binario REGOLA: Per convertire un numero esadecimale in binario si deve ricordare che ogni cifra esadecimale si converte MEDIANTE LA TABELLA per le conversioni in QUATTRO cifre binarie Esempio: A4F in esadecimale Cifra ottale A = cifre binarie desunte da tabella di conversione 1010 4 = 0100 F = 1111 A4F in esadecimale si converte in 1010 0100 1111 binario Conversione binario - ESADECIMALE REGOLA: Per convertire un numero binario si deve ricordare che ogni 4 cifre binarie partendo da destra corrispondono MEDIANTE LA TABELLA ad una cifra esadecimale Esempio: 1010110111 in binario deve essere diviso in gruppi di quattro cifre come indicato, aggiungendo eventuali zeri non significativi per completare l’ultimo gruppo non significativo 0010 1011 0111 Cifre binarie Cifra esadecimale desunta da tabella di conversione 0010 = 2 1011 = B 0111 = 7 0010 1011 0111 in binario si converte in 2B7 esadecimale LE RAPPRESENTAZIONI DEI NUMERI REALI • LA VIRGOLA FISSA • LA VIRGOLA MOBILE RAPPRESENTAZIONE IN VIRGOLA FISSA • La rappresentazione in virgola fissa consiste nel rappresentare qualsiasi numero reale prefissando il numero di cifre per la parte intera e per la parte decimale: • ES.: 6,24 5 CIFRE per la parte intera 3 per la parte decimale 6,24 viene rappresentato come 00006,240 PROBLEMI CON LA VIRGOLA FISSA La SOMMA e PRODOTTO possono generare un numero troppo grande che non è rappresentato dal numero di cifre stabilito (in questo caso si ha OVERFLOW Esempio: numeri rappresentati in virgola fissa con 2 cifre intere 65+ 75= 50 Invece di 150: si è avuto overflow 34x 3= 02 Invece di 102: si è avuto overflow PROBLEMI CON LA VIRGOLA FISSA La SOTTRAZIONE e la DIVISIONE possono generare un numero che è troppo piccolo per essere rappresentato e si ha UNDERFLOW Esempio: numeri rappresentati in virgola fissa con 2 cifre intere e 2 decimali 0,21:99 = 0,00 invece di 0,00212121 cioè si è avuto underflow RAPPRESENTAZIONE IN VIRGOLA MOBILE • La rappresentazione in virgola mobile consiste nel rappresentare qualsiasi numero reale R di n cifre nella forma di prodotto della mantissa M per la base elevata ad un esponente detto caratteristica R = M bx Esempio • • 45,21 = +0,4521 x 10+2 = +0,004521 x 10+4 = +452,1 x 10-1 • N.B. in excel si usa il formato scientifico per la virgola mobile con la lettera E viene indicata la base 10 seguita dalla caratteristica • Esempio 45,21 = 4521E+2 che è uguale a 4521x102 RAPPRESENTAZIONE IN VIRGOLA MOBILE (normalizzata) • Forma normalizzata se La Parte intera della Mantissa è minore della Base Es.: 0,00002345 non normalizzata normalizzata = 2,345 10-5 Es.: non normalizzata 0,002345 10-2