Rappresentazione Numerica

colans22
Buongiorno avrei un dubbio sul funzionamento della virgola mobile.
Ho un numero che è $-5.828125$ in base $10$ ,devo convertirlo in virgola mobile.
a me esce $1.01110101*2^2$ per la parte intera piu quella frazionaria
Poi per quanto riguarda la trasformazione dell' esponente uso lo stesso procedimento di trasformazione della parte decimale aggiungendo all' esponente +127.
uscirà dopo i calcoli 10000001.
per una trasformazione complessiva di$1.01110101 10000001$
C'è qualcuno che puo darmi dei consigli o dritte per risolvere nel migliore dei modi questo procedimento e per quanto riguarda l' inserimento del segno (0,1) nel numero complessivo
lascio la mia mail nel caso ci fosse qualche anima pia :D :D :D :D

Risposte
apatriarca
Non esiste alcun trucco per risolvere questo tipo di problemi.. Il segno è semplicemente aggiunto come primo bit del numero in virgola mobile, seguito dall'esponente a cui è stato aggiunto il bias e infine alla mantissa in cui ha levato la parte "1.". Non mi sono chiari i tuoi dubbi.. Mi sembra tu abbia più o meno compreso tutto.

P.S. Un consiglio: non inserire la tua email in chiaro nei forum..

colans22
perfetto quindi nel caso abbia il numero positivo metto prima il segno quindi 0 poi trasformo il numero(intero e decimale) e fino qui okey poi lo riscrivo nel caso ci sia bisogno nella forma 1.mantissa e per quanto riguarda l'esponente stesso ragionamento per quanto riguarda il segno? prima scrivo il segno e dopo ci aggiungo la scomposizione dell' esponente?

apatriarca

colans22
perfettissimo, un ultimissima cosetta nel caso ci fosse l' esponente negativo per uno numero de tipo $00101|ecc$ va riscritto sempre nella forma 1.mantissa.
l' esponente in questo caso sarà scritto negativo perchè la virgola si è mossa verso destra
la mia domanda è per la traformazione di esso la formula da utilizzare e sempre $e+127$?

apatriarca
La trasformazione del numero è ovviamente sempre \(e + 127\). Nel caso di numero negativo avrai valori che sono minori di 127, mentre con esponenti positivi i valori saranno più grandi di tali numeri. Quel bit non viene mai scritto nel numero floating point in quanto è implicito nella scelta dell'esponente. L'unica eccezione si ha con i numeri denormalizzati che usano come esponente 0 (dopo il bias).

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.