1 / 8

Algoritmi di conversione in basi numeriche diverse

Algoritmi di conversione in basi numeriche diverse. Lab Programmazione - turno 2 aa 2008/2009. 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

adriel
Download Presentation

Algoritmi di conversione in basi numeriche diverse

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  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 · 162 + 2 · 161 + 11 · 160 = 299 (n.b. 11 è il valore corrispondente alla cifra ‘B’) Cosa bisogna usare: i metodi length, charAt,indexOf della classe String AA 2006/07 2 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’ AA 2006/07 3 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 AA 2006/07 4 Lab Programmazione L. Capra

  5. Conversione da base X a base 10 Idea: rappresentare l’insieme dei simboli (cifre) con una stringa di caratteri (basi da 2 a 16) String simboli = “0123456789ABCDEF”; 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 AA 2006/07 5 Lab Programmazione L. Capra

  6. Conversione inversa: da base 10 in base X Input : numero intero e nuova base Es: 299 16 Output: stringa di cifre corrispondente al num. in base x Es. (base 16) : “12B“ Algoritmo: 299 16 18 16 1 16 resti 11 (B) 2 1 “12B” AA 2006/07 6 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’ AA 2006/07 7 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 AA 2006/07 8 Lab Programmazione L. Capra

More Related