Rappresentazione in virgola mobile

Fab996
Rappresentare nel sistema virgola mobile a 16 bit, 1 bit per il segno, 8 per l'esponente(eccesso 128), 7 bit per la mantissa, il numero rappresentato in complemento a 1 da un byte 8B(sistema esadecimale). Mi potreste scrivere quanto vi viene? :D

Risposte
probid
1 | 10000111 | 1110100 ?

Fab996
"probid":
1 | 00000111 | 1110100 ?

Ciao, a me viene leggermente diverso.
Allora 8B rappresentato in cp1 mi viene 1000 1011, quindi in cp2 basta che sommo 1 e ottengo 1000 1100, siccome è negativo lo porto in positivo e ottengo -(0111 0100), quindi $-2^6(1.110100)=>1|10000110|110100$
La mantissa varia tra $1<=mantissa<2$

probid
Ciao!
Il numero rappresentato dovrebbe essere lo stesso, abbiamo normalizzato in maniera diversa:
io ho considerato più generalmente la mantissa come 0.1110100 invece di 1.110100, ma in effetti nel caso specifico dei numeri binari la cifra più significativa non nulla (richiesta dalla normalizzazione) può essere esclusivamente 1, per cui tanto vale usare quel bit per qualcosa di più utile :-D

Fab996
Ciao, però l'esponente è diverso, te hai anche un 1 nella posizione zero.

probid
Certo, appunto perché per come hai normalizzato te basta uno shift in meno:

$1110100 = 1.110100 \cdot 2^6 = 0.1110100 \cdot 2^7$

$6 = 110, 7 = 111$

Ciao!

Fab996
Grazie mille!

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