Caricare documenti e articoli online 
INFtub.com è un sito progettato per cercare i documenti in vari tipi di file e il caricamento di articoli online.


 
Non ricordi la password?  ››  Iscriviti gratis
 

simulare con Excel un convertitore che trasformi un numero intero o frazionario in base dieci in un'altra base da 2 a 16

finanze



OBIETTIVO: simulare con Excel un convertitore che trasformi un numero intero o frazionario in base dieci in un'altra base da 2 a 16.


STUDIO DEL SISTEMA: per effettuare una conversione da base dieci in un qualsiasi altra base si utilizza il metodo delle divisioni successive. Preso 858b11i un numero decimale formato da una parte intera e una frazionaria, si opera prima sulla parte intera e poi su quella frazionaria. Partendo dalla parte intera si prende il numero e lo si divide per la base in cui lo si vuole convertire (fino ad ottenere quoziente 0), poi attraverso una serie di divisioni si conservano i resti presi in ordine inverso a quello di generazione. La conversione della parte frazionaria, invece, avviene attraverso una serie di moltiplicazioni successive solo della parte frazionaria ottenuta per la base in cui lo si vuole convertire (fino ad ottenere parte intera uguale a 0). Si conservano le parti intere ottenute nell'ordine di generazione.




COSTRUZIONE DEL SOFTWARE: per eseguire delle conversioni con numeri grandi ci siamo serviti del foglio elettronico di Excel.

C:\Documents and Settings\Alessandro\Documenti\Immagini\Nuova immagine.bmp

Prima di tutto apriamo Excel e scegliamo una cella in cui immettere il numero decimale in questo caso abbiamo usato la cella A4. Poi in un'altra cella inseriamo la base in cui vogliamo convertire il numero (cella B4). Il numero massimo convertito e formato da 16 bit per quanto riguarda la parte intera e 5 per quanto riguarda la parte frazionaria, quindi si prendono (in questo caso) le celle che vanno dalla D5 fino alla Y7. Nella prima riga troviamo i resti (della parte intera)e le parti intere (della parte frazionaria), invece, nella terza riga troviamo i numeri 10, 11, 12,13,14,15 convertiti in esadecimale insieme agli altri presenti nella prima riga. Una volta sistemato il foglio di lavoro si procede con i calcoli. Per prima cosa dedichiamo una parte del foglio per inserire i quozienti e i prodotti della divisione e della moltiplicazione (da A6 a A27) poi in seguito si inseriscono le varie funzioni per convertire il numero decimale. Nella cella A2 abbiamo usato la seguente funzione per trovarci solo la parte intera della divisione: =INT(A4/$B$4) poi per trascinamento siamo arrivati fino alla cella A21. Nella cella A22, invece, abbiamo inserito la seguente funzione per prenderci solo la parte frazionaria del numero: =A4-INT(A4 ) mentre per le celle che vanno dalla A23 alla A27 abbiamo la formula =A22*$B$4 per calcolarci di volta in volta il prodotto della parte frazionaria per il numero della base. Tutti i resti delle divisioni vengono inseriti nelle celle dalla D5 alla S5, mentre le parti intere delle moltiplicazioni dalla cella U5 alla Y5. Dalla cella D7 alla cella Y7 abbiamo usato la seguente funzione per trasformare i numeri 10, 11, 12,13,14,15 rispettivamente in A, B, C, D, E, F, questo perché in esadecimale i numeri vanno da 0 a F:

=SE(D5>14; "F"; SE(D5>13; "E"; SE(D5>12; "D"; SE(D5>11; "C"; SE(D5>10; "B"; SE(D5>9; "A"; D5))))))


COLLAUDO DELLA SIMULAZIONE: terminata la costruzione del software, si passa alla sua verifica inserendo dei numeri che possono mettere in difficoltà il programma.

Infatti inserendo dei valori il software funziona come dovrebbe:


invece se inseriamo il numero 65535,96875 e il numero 65535,96876 e li convertiamo in base due, scopriamo che la conversione effettuata non è giusta, in quanto in entrambi i casi la stringa è uguale:



Questo accade perché manca il diciassettesimo bit della parte intera e il sesto bit della parte frazionaria.

Un altro problema che si è verificato è la conversione in esadecimale di un numero molto grande in base sedici:

Questo accade perché il numero è molto grande e quindi non è possibile rappresentarlo


CONCLUSIONI: l'obiettivo è stato raggiunto in quanto il programma si è presentato corretto nel convertire i numeri.


PROPOSTE: si potrebbe ampliare il software inserendo altre basi superiori alla base 16, così in questo modo potremmo convertire numeri molto alti.







Privacy




Articolo informazione


Hits: 7145
Apprezzato: scheda appunto

Commentare questo articolo:

Non sei registrato
Devi essere registrato per commentare

ISCRIVITI



Copiare il codice

nella pagina web del tuo sito.


Copyright InfTub.com 2024