© 2015 Giorgio Porcu - Aggiornamennto 09/12/2015 I STITUTO T ECNICO SECONDO BIENNIO T ECNOLOGIE E P ROGETTAZIONE Rappresentazione dell’ Informazione Conversioni numeriche G IORGIO P ORCU
© 2015 Giorgio Porcu - Aggiornamennto 09/12/2015 T ECNOLOGIE E P ROGETTAZIONE Rappresentazione dell’informazione Conversioni numeriche Sommario Conversioni numeriche in informatica Conversione Base n DEC Conversione Base n DEC: Notazione posizionale Conversione DEC Base n Conversione DEC Base n: Divisioni successive Conversione tra Basi 2 n Conversione Base 2 2 n : Raggruppamento Conversione Base 2 n 2: Espansione Conversione Base 2 n 2 m : Espandi e Raggruppa 2
© 2015 Giorgio Porcu - Aggiornamennto 09/12/2015 T ECNOLOGIE E P ROGETTAZIONE Rappresentazione dell’informazione Conversioni numeriche Conversione numerica Metodo per rappresentare un numero in una base numerica differente da quella di partenza. ES: Conversione da base 10 a base 2 (DEC BIN) Conversione da base 8 a base 10 (OCT DEC) Conversione da base 2 a base 16 (BIN HEX) Ogni conversione numerica si basa su un algoritmo che può essere implementato su un computer. Conversione numerica 3
© 2015 Giorgio Porcu - Aggiornamennto 09/12/2015 T ECNOLOGIE E P ROGETTAZIONE Rappresentazione dell’informazione Conversioni numeriche Poiché le basi numeriche più utilizzate in campo informatico sono: Base 2 (Binario, BIN) Base 8 (Ottale, OCT) Base 16 (Esadecimale, HEX) analizzeremo i metodi per convertire numeri: Tra queste basi e Base 10, che è il Sistema di numerazione standard usato nei calcoli matematici ES: Conversione da Base 2 a Base 10 (BIN DEC) Conversione da Base 10 a Base 8 (DEC OCT) Tra queste basi ES: Conversione da Base 8 a Base 16 (OCT HEX) Conversioni numeriche in informatica 4
© 2015 Giorgio Porcu - Aggiornamennto 09/12/2015 T ECNOLOGIE E P ROGETTAZIONE Rappresentazione dell’informazione Conversioni numeriche Per il momento focalizziamo l'attenzione sulla conversione di numeri naturali, più semplici da gestire: Numeri naturali (Insieme N) Numeri interi senza segno a partire dallo 0. ES: Sono numeri naturali in Base 10: 0, 1, 2, …, 13, …, 25, …, 55678, …, , … Conversione di numeri naturali 5 Insieme N Numeri naturali in Base …
© 2015 Giorgio Porcu - Aggiornamennto 09/12/2015 T ECNOLOGIE E P ROGETTAZIONE Rappresentazione dell’informazione Conversioni numeriche 6 Conversione Base n DEC = ? 10 2A3 16 = ? = ? 10
© 2015 Giorgio Porcu - Aggiornamennto 09/12/2015 T ECNOLOGIE E P ROGETTAZIONE Rappresentazione dell’informazione Conversioni numeriche Conversione BIN DEC Abbiamo già visto che la notazione posizionale ci consente di definire un metodo per trasformare un numero da Base 2 a Base 10: Metodo della notazione posizionale (BIN DEC) Espandere il numero binario in notazione posizionale (con pesi: potenze di 2) e svolgere i calcoli. 7
© 2015 Giorgio Porcu - Aggiornamennto 09/12/2015 T ECNOLOGIE E P ROGETTAZIONE Rappresentazione dell’informazione Conversioni numeriche Calcoliamo = ? = · · · · · · = = = Conversione BIN DEC: Esempio Verso DX Peso minore Verso SX Peso maggiore 012 Potenza
© 2015 Giorgio Porcu - Aggiornamennto 09/12/2015 T ECNOLOGIE E P ROGETTAZIONE Rappresentazione dell’informazione Conversioni numeriche La notazione posizionale è valida per esprimere in decimale qualsiasi numero espresso in Base n, non solo in Base 2. Enunciamo quindi un metodo generale per trasformare un numero da Base n in Base 10: Metodo della notazione posizionale (generale) Espandere il numero in Base n in notazione posizionale (con pesi: potenze di n) e svolgere i calcoli. 9 Conversione Base n DEC
© 2015 Giorgio Porcu - Aggiornamennto 09/12/2015 T ECNOLOGIE E P ROGETTAZIONE Rappresentazione dell’informazione Conversioni numeriche 10 Conversione DEC Base n = ? = ? = ? 8
© 2015 Giorgio Porcu - Aggiornamennto 09/12/2015 T ECNOLOGIE E P ROGETTAZIONE Rappresentazione dell’informazione Conversioni numeriche Per trasformare un numero da Base 10 in Base 2 si utilizza il seguente: Metodo delle divisioni successive (DEC BIN) Dividere ripetutamente per 2 il numero in Base 10 segnando il resto di ogni divisione. Prendere la sequenza dei resti dall’ultimo al primo. Attenzione al Resto di una divisione 13:2 = 6,5 significa: 6 con resto 1 (non resto 5!) 10:2 = 5 significa: 5 con resto 0 x+= Vale la regola: Quoziente x Divisore + Resto = Dividendo 11 Conversione DEC BIN
© 2015 Giorgio Porcu - Aggiornamennto 09/12/2015 T ECNOLOGIE E P ROGETTAZIONE Rappresentazione dell’informazione Conversioni numeriche Calcoliamo = ? 2 12 Conversione DEC BIN: Esempio Mi fermo Quando il quoziente è = RestoQuoziente 23 : 2 = 11 con resto 1
© 2015 Giorgio Porcu - Aggiornamennto 09/12/2015 T ECNOLOGIE E P ROGETTAZIONE Rappresentazione dell’informazione Conversioni numeriche Il metodo precedente può essere generalizzato per trasformare un numero da Base 10 in Base n (non solo in Base 2): Metodo delle divisioni successive (generale) Dividere ripetutamente per n il numero in Base 10 segnando il resto di ogni divisione. Prendere la sequenza dei resti dall’ultimo al primo. Anche in questo caso, attenzione al Resto… 13 Conversione DEC Base n
© 2015 Giorgio Porcu - Aggiornamennto 09/12/2015 T ECNOLOGIE E P ROGETTAZIONE Rappresentazione dell’informazione Conversioni numeriche 14 Conversione tra Basi 2 n = ? 2 12D 16 = ? = ? 8
© 2015 Giorgio Porcu - Aggiornamennto 09/12/2015 T ECNOLOGIE E P ROGETTAZIONE Rappresentazione dell’informazione Conversioni numeriche Per trasformare un numero da Base 2 a Base 2 n si utilizza il seguente: Metodo del raggruppamento (BIN Base 2 n ) Dividere il numero in Base 2 in gruppi di n cifre e convertire ogni gruppo nel corrispondente in Base n. Se il numero di cifre del binario non è multiplo intero di n, aggiungo zeri inziali a sx (non significativi) Per attuarlo devo saper scrivere la tabella di conversione dei primi numeri tra Basi 2 e 2 n ! 15 Conversione Base 2 2 n
© 2015 Giorgio Porcu - Aggiornamennto 09/12/2015 T ECNOLOGIE E P ROGETTAZIONE Rappresentazione dell’informazione Conversioni numeriche Calcoliamo = ? Conversione Base 2 2 n : Esempio 39 Base 16 = 2 4 n=4 Divido il numero binario in gruppi di n=4 cifre = Il numero ha 6 cifre 6 non è multiplo di n=4 Aggiungo 2 zeri iniziali Gruppo
© 2015 Giorgio Porcu - Aggiornamennto 09/12/2015 T ECNOLOGIE E P ROGETTAZIONE Rappresentazione dell’informazione Conversioni numeriche Per trasformare un numero da Base 2 n a Base 2 si utilizza il seguente: Metodo dell'espansione (Base 2 n BIN) Convertire ogni singola cifra del numero in Base 2 n nel corrispondente binario a lunghezza fissa n. Ogni singola cifra del numero di partenza viene espansa in un gruppo di n cifre. Il risultato binario sarà quindi un numero con più cifre dell'originale. Per attuarlo devo saper scrivere la tabella di conversione dei primi numeri tra Basi 2 n e 2! 17 Conversione Base 2 n 2
© 2015 Giorgio Porcu - Aggiornamennto 09/12/2015 T ECNOLOGIE E P ROGETTAZIONE Rappresentazione dell’informazione Conversioni numeriche Calcoliamo 63 8 = ? 2 18 Conversione Base 2 n 2: Esempio 63 Base 8 = 2 3 n=3 Espando ogni cifra in gruppi di n=3 cifre = Ogni cifra di partenza è convertita nel corrispondente binario a lunghezza fissa n=3
© 2015 Giorgio Porcu - Aggiornamennto 09/12/2015 T ECNOLOGIE E P ROGETTAZIONE Rappresentazione dell’informazione Conversioni numeriche Per trasformare un numero da Base 2 n a Base 2 m combino i metodi di espansione e raggruppamento con una trasformazione intermedia in Base 2: Metodo Espandi e Raggruppa (Base 2 n 2 m ) 1. Espando ogni singola cifra del numero in Base 2 n nel corrispondente binario a lunghezza fissa n. 2. Divido il numero binario ottenuto in gruppi di m cifre e converto ogni gruppo nel corrispondente in Base 2 m. Per attuarlo devo saper scrivere la tabella di conversione dei primi numeri tra Basi 2 n, 2 e 2 m ! 19 Conversione Base 2 n 2 m
© 2015 Giorgio Porcu - Aggiornamennto 09/12/2015 T ECNOLOGIE E P ROGETTAZIONE Rappresentazione dell’informazione Conversioni numeriche Calcoliamo = ? Conversione Base 2 n 2 m : Esempio 52 Base 8 = 2 3 n=3 Espando ogni cifra in gruppi di n=3 cifre = EA 16 Base 16 = 2 4 n=4 Divido in gruppi di n=4 cifre Il numero ha 9 cifre 9 non è multiplo di n=4 Ma la prima cifra è 0 e non la considero EA 16
© 2015 Giorgio Porcu - Aggiornamennto 09/12/2015 T ECNOLOGIE E P ROGETTAZIONE Rappresentazione dell’informazione Conversioni numeriche Tabella di conversione 21 BINOCTDECHEXBINOCTDECHEX A B C D E F Per realizzare le conversioni tra Basi 2 n occorre saper costruire la seguente tabella di conversione: