Ho una situazione che richiede di rappresentare un float
in un singolo char
. L'intervallo che questo 'minifloat' deve rappresentare è da 0 a 10e-7, quindi possiamo sempre presumere che il numero sia + ve, e l'esponente -ve per risparmiare spazio.Rappresenta un float in un singolo byte
La rappresentazione a cui ho pensato di andare è 3 bit di esponente e 5 bit mantissa (con 1 bit implicito), con l'esponente in base 10, ovvero x = man * 10^exp
.
Per convertire da un galleggiante al mio minifloat, ho intenzione di usare frexp
, e utilizzare alcuni matematica convertire da base 2 a base 10.
Si tratta di un approccio ragionevole? O ci sono modi migliori per raggiungere questo obiettivo?
Questo fa il lavoro, grazie! – Dunnie