Conversione in IEEE-754 single precision
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
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
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.
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'?
"Esprimere, in formato esadecimale, il numero 2^–135 secondo lo standard IEEE-754, singola precisione"
ma lasciando l'esponente a -126 non perderei 'informazioni'?
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".