1. Sistemi di numerazione

16/09/12 Prof. Emanuele Papo5o Il sistema di numerazione posizionale decimale —  Il sistema di numerazione che u>lizziamo abitualmente è il sistema di numerazione decimale. —  Questo sistema u>lizza la numerazione posizionale dove ogni cifra del numero assume un valore in funzione della “posizione”: —  La posizione di ogni singola cifra che compone un numero si calcola partendo SEMPRE DALL’ULTIMA CIFRA A DESTRA (posizione 0), E PROSEGUENDO VERSO SINISTRA Ad esempio nel numero 734 le posizioni di ogni singola cifra sono: numero 7 3 4 2 1 0 Posizione di ogni singola cifra Nel numero 1456795094 quali sono le posizioni? 2 1 16/09/12 Nel numero 1456795094 quali sono le posizioni? 1456795094 1 4 5 6 7 9 5 0 9 4 numero 9 8 7 6 5 4 3 2 1 0 posizione 3 Sistema di numerazione posizionale —  Definizione: Ogni numero si esprime come la somma dei prodotti di ciascuna cifra per la base elevata all’esponente che rappresenta la posizione della cifra: 22110 = 2 x 102 + 2 x 101 + 1 x 100 200 + 20 + 1 Ma cos’è la base??? 4 2 16/09/12 Sistema di numerazione posizionale —  La base è quel numerino che si pone al pedice di un numero, ad esempio : 22110 (si legge 221 in base 10) La base specifica il sistema numerico a cui si riferisce il numero. Nell’esempio (22110) siamo nel sistema numerico decimale, ovvero quello che utilizziamo sempre in qualsiasi circostanza che implica l’utilizzo di un numero. Normalmente non scriviamo mai la base 10 nei numeri che utilizziamo nel sistema di numerazione decimale, ma adesso vedremo che sarà importante specificarla perché utilizzeremo sistemi di numerazione differenti. 5 Sistema di numerazione posizionale —  Il sistema di notazione posizionale può essere usato con qualunque base creando così differen> sistemi di numerazione. —  In informa>ca si u>lizza prevalentemente la numerazione: —  binaria, —  o5ale, —  Esadecimale —  Ma par>amo dal sistema di numerazione decimale per capire meglio i sistemi di numerazione 6 3 16/09/12 Sistema di numerazione decimale —  Definizione: Il sistema di numerazione decimale u>lizza una notazione posizionale basata su 10 cifre (ogni singola cifra di ogni posizione deve essere esclusivamente un numero tra 0,1,2,3,4,5,6,7,8,9) e sulle potenze di 10. —  Il numero 234 in base 10 si rappresenta esplicitamente come ? —  Come la somma delle sue cifre molSplicate per la potenza della base che caraUerizza la sua posizione : 23410 = 4 x 100+ 3 x 101 + 2 x 102 4 + 30 + 200 7 Sistema di numerazione binario —  Definizione: Il sistema di numerazione binario u>lizza una notazione posizionale basata su 2 cifre (ogni singola cifra di ogni posizione deve essere esclusivamente il numero 0 oppure 1) e sulle potenze di 2. —  Per comporre un numero in base 2 è quindi necessaria la combinazione SOLO ED ESCLUSIVAMENTE delle cifre 0 e 1 —  Ad es. il numero 1001 in base 2 si rappresenta esplicitamente come la somma delle sue cifre molSplicate per la potenza della base che caraUerizza la sua posizione, tale rappresentazione ci permeUe di converSre un numero dalla base 2 alla base 10 : 10012 = 1 x 20 + 0 x 21 + 0 x 22 + 1 x 23 1 + 0 + 0 + 8 = 910 8 4 16/09/12 Sistema di numerazione o5ale —  Definizione :Il sistema di numerazione o5ale u>lizza una notazione posizionale basata su 8 cifre (ogni singola cifra di ogni posizione deve essere esclusivamente un numero tra 0,1,2,3,4,5,6,7) e sulle potenze di 8. —  Per comporre un numero in base 8 è quindi necessaria la combinazione SOLO delle cifre 0,1,2,3,4,5,6,7 —  Ad es. il numero 534 in base 8 si rappresenta esplicitamente come la somma delle sue cifre molSplicate per la potenza della base che caraUerizza la sua posizione, tale rappresentazione ci permeUe di converSre un numero dalla base 8 alla base 10 : 5348 = 4 x 80 + 3 x 81 + 5 x 82 4 + 24 + 320 = 34810 9 Sistema di numerazione esadecimale —  La numerazione esadecimale u>lizza una notazione posizionale basata su 16 cifre (ogni singola cifra di ogni posizione deve essere esclusivamente un numero tra 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A(10), B(11), C(12), D(13), E(14), F (15)) e sulle potenze di 16 —  Per comporre un numero in base 16 è quindi necessaria la combinazione SOLO di cifre da 0 a 9 e dei cara5eri A, B, C, D, E, F —  Ad es. il numero B7FC16 (in base 16) si rappresenta esplicitamente come la somma delle sue cifre molSplicate per la potenza della base che caraUerizza la sua posizione, tale rappresentazione ci permeUe di converSre un numero dalla base 16 alla base 10 C(12) x 160 + F(15) x 161 + 7 x 162 + B(11) x 163 12 + 240 + 1792 + 45056 = 4710010 10 5 16/09/12 Conversione da base n a base 10 —  Definizione: Per converSre un numero da una qualunque base alla base 10 è sufficiente rappresentarlo esplicitamente in forma polinomiale, come la somma delle sue cifre molSplicate per la potenza della base che caraUerizza la sua posizione : 11012 = 1 x 20 + 0 x 21 + 1 x 22 + 1 x 23 = 1310 7108 = 0 x 80 + 1 x 81 + 7 x 82 = 45610 A5116 = 1 x 160 + 5 x 161 + (10) x 162 = 264110 11 Conversione da base 10 a base n —  Per conver>re un numero ad una base n qualsiasi occorre trovare tua i res> delle successive divisioni del numero per la base n. —  Come esempio si vuole trovare il valore binario del numero 210 – Basterà dividere 210 per la base 2 vediamo come… 12 6 16/09/12 Conversione da base 10 a base 2 210 ÷ 2 = 105 105 ÷ 2 = 52 52 ÷ 2 = 26 26 ÷ 2 = 13 13 ÷ 2 = 6 6 ÷ 2 = 3 3 ÷ 2 = 1 1 ÷ 2 = 0 Resto Resto Resto Resto Resto Resto Resto Resto 0 1 0 0 1 0 1 1 L e g g e n d o l a sequenza dei res> dal basso verso l'alto, si oaene il numero: 21010 = 110100102 13 Verifica di corre5ezza —  Per una verifica di corre5ezza basta riconver>re il risultato alla base 10 rappresentandolo esplicitamente in forma polinomiale : 110100102 = 0 x 20 + 1 x 21 + 0 x 22 + 0 x 23 + 1 x 24 + 0 x 25 + 1 x 26 + 1 x 27 = 21010 14 7 16/09/12 ESERCIZI —  Conver>re: —  1100010012 in base 10 —  10015728 in base 10 —  A21F416 in base 10 —  2110 in base 2 —  13210 in base 2 —  20610 in base 2 15 8 16/09/12 Richiami sul sistema binario 11012 = 1 x 20 + 0 x 21 + 1 x 22 + 1 x 23 = 1310 … … 1 1 0 1 … 128 64 32 16 8 4 2 1 … 27 26 25 24 23 22 21 20 Richiami sul sistema binario Se considero il numero 001100102 a quanto corrisponde in base 10 ?? 0 0 1 1 0 0 1 0 … … 128 64 32 16 8 4 2 1 … … 27 26 25 24 23 22 21 20 2+16+32=5010 001100102 = 5010 18 9 16/09/12 Richiami sul sistema binario Alla luce di quanto abbiamo de5o…. Il 2310 a che numero binario corrisponde ??? 1 0 1 1 1 … … 128 64 32 16 8 4 2 1 … … 27 26 25 24 23 22 21 20 1+2+4+16=2310 101112 = 2310 19 Addizione —  L’ addizione tra numeri binari è analoga a quella che si esegue nel sistema decimale, le possibili combinazioni che possono assumere la somma di numeri binari sono: 0+0 = 0; 0+1 = 1+0 = 1; 1+1 = 10 (scrivo 0 e riporto 1) 1+1+1 =11 (scrivo 1 e riporto 1) Esempio: Da> A = 101112, B = 1012 o5eniamo RIPORTO 1 1 1 decimale A 1 0 1 1 1 23 + B A+B 1 1 1 0 1 5 = 1 0 0 28 20 10 16/09/12 Addizione RIPORT
O 1 1 1 A 0 1 0 1 5 + B 1 1 1 1 15 = 0 1 0 0 20 A+B 1 decimale 21 Mol>plicazione —  La molSplicazione tra numeri binari viene eseguita allo stesso modo della mol>plicazione tra numeri decimali ricordando che: 0·∙0=0; 0·∙1= 1·∙0 entrambi =0 ; 1·∙1=1 1 1 0 1 x 1 0 1 = 1 1 0 1 0 0 0 0 1 1 0 1 1 0 0 0 0 0 1 22 11 16/09/12 Mol>plicazione 1 0 0 1 1 x 1 1 0 0 0 0 0 0 1 0 0 1 1 1 0 0 1 1 1 1 1 0 0 1 0 23 So5razione —  Regole base: —  0-­‐0=0; 1-­‐0=1; 1-­‐1=0; 0-­‐1=1 con un procedimento che di seguito spieghiamo: bisogna andare verso sinistra e trovare il primo uno che diventerà 0. A loro volta gli zero che precedono (verso destra) questo 1 diventeranno 1 ad eccezione di quello che riceve il pres>to che diventerà 2. A questo punto si procede con la so5razione. Nel caso in cui si incontri di nuovo 0-­‐1, si procederà in modo analogo. 1 0 0 0 0 1 1 0 -­‐ 1 0 1 1 0 1 1 1 = 24 12 16/09/12 So5razione 0 2 0 2 0 2 0 2 pres%% 1 0 1 0 1 1 1 0 -­‐ 0 1 0 0 0 1 1 1 = 0 1 1 0 0 1 1 1 25 Divisione 26 13 16/09/12 Divisione 27 Conversioni con gli esadecimali —  La numerazione esadecimale u>lizza una notazione posizionale basata su 16 cifre (ogni singola cifra di ogni posizione deve essere esclusivamente un numero tra 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A(10), B(11), C(12), D(13), E(14), F (15)) e sulle potenze di 16 —  Conversione dalla base decimale a quella esadecimale —  Si eseguono le divisioni successive per la base 16 fino a trovare quoziente zero: 28 14 16/09/12 Conversione dalla base decimale a quella esadecimale 15632 ÷ 16 = 977 977÷ 16 = 61 61÷ 16 = 3 3 ÷ 16 = 0 Resto Resto Resto Resto 0 1 12 3 —  Trasformiamo il numero 1563210 in base 16 1563210 =3C1016 29 Conversione da base 2 a base 16 Binario esadecimale 0000 0 0001 1 0010 2 0011 3 0100 4 0101 5 0110 6 0111 7 1000 8 1001 9 1010 A 1011 B 1100 C 1101 D 1110 E 1111 F Per eseguire la conversione basta considerare la tabella a destra che esprime i rispeavi numeri esadecimali in binario quindi: 1)  Raggruppare il numero in binario a gruppi di 4 cifre; 2)  C o n v e r > r e o g n i g r u p p o n e l l a corrispondente cifra esadecimale Esempio 10110110012 = ?16 1)  10 1101 1001 2)  2 D 9 10110110012 = 2D916 30 15 16/09/12 Conversione da base 16 a base 2 Binario esadecimale 0000 0 0001 1 0010 2 0011 3 0100 4 0101 5 0110 6 0111 7 1000 8 1001 9 1010 A 1011 B 1100 C 1101 D 1110 E 1111 F Per eseguire la conversione basta considerare la tabella a destra che esprime i rispeavi numeri esadecimali in binario quindi: 1)  Consideriamo separatamente ogni cifra del numero esadecimale; 2)  Conver>re ogni cifra esadecimale nella corrispondente sequenza binaria Esempio E4D16 = ?2 1)  E 4
D 2)  1110 0100 1101 E4D16=1110010011012 31 …E CON IL SISTEMA OTTALE? —  Per eseguire la conversione da base 2 Binario Ottale 000 0 001 1 010 2 011 3 100 4 101 5 110 6 111 7 a base 8 basta considerare la tabella a destra che esprime i rispeavi numeri o5ali in binario quindi: 1)  Raggruppare il numero in binario a gruppi di 3 cifre; 2)  Conver>re ogni gruppo nella corrispondente cifra o5ale 10010011101012=? 8 1.  1 001 001 110 101 2.  1 1 1 6 5 10010011101012=111658 32 16 16/09/12 …E CON IL SISTEMA OTTALE? —  Per eseguire la conversione da base 8 Binario Ottale 000 0 001 1 010 2 011 3 100 4 101 5 110 6 111 7 a base 2 basta considerare la tabella a destra che esprime i rispeavi numeri o5ali in binario quindi: 1)  Consideriamo separatamente ogni cifra del numero o5ale; 2)  Conver>re ogni cifra o5ale nella corrispondente sequenza binaria 25418=? 2 1.  2 5 4 1 2.  010 101 100 001 25418=0101011000012 33 17