La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Algoritmi di conversione in basi numeriche diverse Lab Programmazione - turno 2 aa 2008/2009.

Presentazioni simili


Presentazione sul tema: "Algoritmi di conversione in basi numeriche diverse Lab Programmazione - turno 2 aa 2008/2009."— Transcript della presentazione:

1 Algoritmi di conversione in basi numeriche diverse Lab Programmazione - turno 2 aa 2008/2009

2 AA 2006/07 Lab Programmazione L. Capra 2 Conversione da base X a base 10 Input : stringa di cifre e base numerica (int) Es 12B (numero)16 (base) Output: valore intero corrispondente in base 10 1 · · · 16 0 = 299 (n.b. 11 è il valore corrispondente alla cifra B) Cosa bisogna usare: i metodi length, charAt, indexOf della classe String

3 AA 2006/07 Lab Programmazione L. Capra 3 Conversione da base X a base 10 algoritmo per convertire un qualunque numero scritto in base x (2 x 16) in base decimale Insieme dei simboli base 2:0,1 base 3:0,1,2 … base 11:0,…,9,A … base 16:0,…,9,A,…,F

4 AA 2006/07 Lab Programmazione L. Capra 4 Conversione da base X a base 10 Bisogna controllare che i simboli presenti nella stringa da convertire siano consistenti rispetto alla base ad es. se la base è 8 solo i simboli 0,..,7 potranno comparire nella stringa Bisogna trovare un modo per associare a ogni simbolo il corrispondente valore ad es. il valore di A è 10, quello di F è 15

5 AA 2006/07 Lab Programmazione L. Capra 5 Conversione da base X a base 10 Idea: rappresentare linsieme dei simboli (cifre) con una stringa di caratteri (basi da 2 a 16) String simboli = ABCDEF; valore numerico di una cifra posizione carattere corrispondente nella stringa simboli usando la funzione indexOf è semplicissimo trovare il valore numerico di un simbolo-cifra Es.indexOf(simboli, A) 10

6 AA 2006/07 Lab Programmazione L. Capra 6 Conversione inversa: da base 10 in base X Input : numero intero e nuova base Es: Output: stringa di cifre corrispondente al num. in base x Es. (base 16) :12B Algoritmo: B 11 (B) 2 1 resti

7 AA 2006/07 Lab Programmazione L. Capra 7 Conversione da base 10 a base X Problema: dato il valore del resto (es. 11), come troviamo il simbolo corrispondente (B)? Soluzione usiamo il metodo charAt e nuovamente la stringa simboli Es. charAt(simboli,11) B

8 AA 2006/07 Lab Programmazione L. Capra 8 Conversione da base x a base y Input: una stringa di cifre, la vecchia base (int x) e la base in cui vogliamo convertire (int y) Algoritmo (semplicissimo) convertiamo la stringa da base x a base 10 detto z il risultato (int), convertiamo z in base y output: una stringa di cifre


Scaricare ppt "Algoritmi di conversione in basi numeriche diverse Lab Programmazione - turno 2 aa 2008/2009."

Presentazioni simili


Annunci Google