Ciao a tutti, avrei da svolgere il seguente prog in IJVM:
"Restituisce il corrispondente Floating Point singola precisione del numero passato
com integer.
Ad esempio, intof(0x29) restituisce in TOS il valore 0x42240000, corrispondente al valore binario:
0100.0010.0010.0100.0000.0000.0000.0000."
Analizzando il problema credo che i passi da seguire siano 4:
1) Trasformare l'input da esadecimale a Binario
2) Normalizzare (es 11001=1,1001x2^4)
3) Calcolo mantissa es esponente (in questo caso mantissa=1001 ed esponente = 7f+4)
4) Costruzione Floating Point, e restituzione del risultato.
Io prima di procedere nell'implementazione in ijvm, preferirei risolverlo prima in java, in modo da avere l'algoritmo sotto mano.
Ora il problema che mi pongo è il seguente: "Qual'è il modo migliore per convertire i numeri da esadecimale a binario?"
L'unica cosa che mi viene in mente è di fare una serie di if dove per ogni numero esadecimale faccio corrispondere il rispettivo valore in binario, ma onestamente questa soluzione non mi sembra delle più ottimali...
Avete qualche idea migliore al riguardo?
Grazie.
P.S
Ho provato a cercare in rete, ma non son riuscito a trovar nulla.