Conversione in IEEE-754 single precision

thunder2410
Salve mi potreste spiegare come convertire il numero 2^-135 secondo lo standard IEEE-754 a singola precisione?

Secondo la "scaletta" che ho io dovrei:

1) convertire in binario il numero
2) normalizzarlo
3) codificare il segno
4) calcolare l'esponente polarizzato

Penso di avere problemi nel punto 1) come lo converto 2^-135 in binario?

Grazie

Risposte
apatriarca
Quella scaletta è più utile se stai lavorando con numeri decimali, ma il numero che hai scritto è già in binario. Hai infatti un solo 1 in posizione \(-135\).. È inoltre già normalizzato. Tuttavia \(-135\) non è un esponente rappresentabile in singola precisione per cui in realtà deve essere scritto non normalizzato fissando l'esponente a \(-126\) (se non ricordo male) e rappresentando la mantissa senza il bit nascosto iniziale.

thunder2410
Grazie per la risposta, posto il testo originale dell'esercizio:

"Esprimere, in formato esadecimale, il numero 2^–135 secondo lo standard IEEE-754, singola precisione"

ma lasciando l'esponente a -126 non perderei 'informazioni'?

apatriarca
In questo caso, no. In generale potrebbe succedere. Ma non hai scelta perché \(-135\) è minore del più piccolo esponente utilizzabile e quindi non puoi rappresentare quel numero normalizzato. Devi per forza fare uso di questo di questo "trucco".

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