Prof. Emanuele Papotto 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 3 Richiami sul sistema binario Alla luce di quanto abbiamo detto…. 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 4 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: Dati A = 101112, B = 1012 otteniamo RIPORTO A 1 1 1 1 0 1 1 1 23 + 1 0 1 5= 1 0 0 B A+B 1 1 decimale 28 5 Addizione RIPORTO 1 1 1 A 0 1 0 1 5+ B 1 1 1 1 15 = 0 1 0 0 20 A+B 1 decimale 6 Moltiplicazione La moltiplicazione tra numeri binari viene eseguita allo stesso modo della moltiplicazione tra numeri decimali ricordando che: 0·0=0; 0·1= 1·0 entrambi =0 ; 1·1=1 1101x 101= 1101 0000 1101 1000001 7 Moltiplicazione 10011x 110 00000 10011 10011 1110010 8 Sottrazione 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 prestito che diventerà 2. A questo punto si procede con la sottrazione. Nel caso in cui si incontri di nuovo 0-1, si procederà in modo analogo. 10000110 0110111= 9 Sottrazione 02 02 02 02 1010111001000111= 01100111 prestiti 10 Divisione 11 Divisione 12 Conversioni con gli esadecimali La numerazione esadecimale utilizza 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: 13 Conversione dalla base decimale a quella esadecimale 15632 ÷ 16 = 977 977÷ 16 = 61 60÷ 16 = 3 3 ÷ 16 = 0 Resto Resto Resto Resto 0 1 12 3 Trasformiamo il numero 1563210 in base 16 1563210 =3C1016 14 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 rispettivi numeri esadecimali in binario quindi: 1) Raggruppare il numero in binario a gruppi di 4 cifre; 2) Convertire ogni gruppo nella corrispondente cifra esadecimale Esempio 10110110012 = ?16 1) 10 1101 1001 2) 2 D 9 10110110012 = 2D916 15 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 rispettivi numeri esadecimali in binario quindi: 1) Consideriamo separatamente ogni cifra del numero esadecimale; 2) Convertire ogni cifra esadecimale nella corrispondente sequenza binaria Esempio E4D16 = ?2 1) E 2) 1110 4 D 0100 1101 E4D16=1110010011012 16 …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 rispettivi numeri ottali in binario quindi: 1) Raggruppare il numero in binario a gruppi di 3 cifre; 2) Convertire ogni gruppo nella corrispondente cifra ottale 10010011101012=? 8 1. 1 001 001 110 101 2. 1 1 1 6 5 10010011101012=111658 17 …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 rispettivi numeri ottali in binario quindi: 1) Consideriamo separatamente ogni cifra del numero ottale; 2) Convertire ogni cifra ottale nella corrispondente sequenza binaria 25418=? 2 1. 2 5 4 1 2. 010 101 100 001 25418=0101011000012 18