Floating point
ciao a tutti!!!
stavo studiando la rappresentazione in virgola mobile, ho capito che per l'esponente si usa la rappresentazione in eccesso...
quindi ad esempio si avrà:
$0000$ $-8$ in eccesso $8$
$0001$ $-7$ in eccesso $7$
$0010$ ...
$0011$ ...
$0100$ ...
$0101$ ...
$0110$ ...
$0111$ ...
$1000$ $0$ in eccesso $8$
$1001$ ...
$1010$ ...
$1011$ ...
$1100$ ...
$1101$ ...
$1110$ ...
$1111$ $7$ in eccesso $8$
quindi con $4$ bit avremo un eccesso $8$...
ora seguendo lo stesso principio con $3$ bit avremo un eccesso $4$...
ora il mio dubbio è il seguente perché nello standard IEEE 754 usando $8$ bit per l'esponente si ha un eccesso $127$ e non $128$?
cosa mi sfugge?
vi ringrazio anticipatamente per le risposte....
stavo studiando la rappresentazione in virgola mobile, ho capito che per l'esponente si usa la rappresentazione in eccesso...
quindi ad esempio si avrà:
$0000$ $-8$ in eccesso $8$
$0001$ $-7$ in eccesso $7$
$0010$ ...
$0011$ ...
$0100$ ...
$0101$ ...
$0110$ ...
$0111$ ...
$1000$ $0$ in eccesso $8$
$1001$ ...
$1010$ ...
$1011$ ...
$1100$ ...
$1101$ ...
$1110$ ...
$1111$ $7$ in eccesso $8$
quindi con $4$ bit avremo un eccesso $8$...
ora seguendo lo stesso principio con $3$ bit avremo un eccesso $4$...
ora il mio dubbio è il seguente perché nello standard IEEE 754 usando $8$ bit per l'esponente si ha un eccesso $127$ e non $128$?

vi ringrazio anticipatamente per le risposte....
Risposte
Premetto che non ho la certezza di quanto segue, ma:
mi verrebbe da risponderti che la scelta del bias [eccesso] è pressoché arbitraria: scegliendo un bias = 127, applicandolo a numeri di 8 bit, che possono rappresentare valori da 0 a 254, si ottengono valori tra -126 e 127; scegliendolo uguale a 128 invece si avrebbe avuta una rappresentazione degli esponenti tra -127 e 126. Quindi penso sia solo una decisione di chi ha stabilito lo standard.
mi verrebbe da risponderti che la scelta del bias [eccesso] è pressoché arbitraria: scegliendo un bias = 127, applicandolo a numeri di 8 bit, che possono rappresentare valori da 0 a 254, si ottengono valori tra -126 e 127; scegliendolo uguale a 128 invece si avrebbe avuta una rappresentazione degli esponenti tra -127 e 126. Quindi penso sia solo una decisione di chi ha stabilito lo standard.
grazie per la risposta.
quindi dici che sarà stata una scelta del tutto arbitraria? strano, però...
quindi dici che sarà stata una scelta del tutto arbitraria? strano, però...
Non è una scelta arbitraria, ma progettuale. I valori da rappresentare in un esponente a 8 bit sono da 1 a 254 in quanto 0 e 255 hanno significati particolari.
http://en.wikipedia.org/wiki/IEEE_754-2008
oppure anche
http://en.wikipedia.org/wiki/Single_pre ... int_format
http://en.wikipedia.org/wiki/Double_pre ... int_format
http://en.wikipedia.org/wiki/IEEE_754-2008
oppure anche
http://en.wikipedia.org/wiki/Single_pre ... int_format
http://en.wikipedia.org/wiki/Double_pre ... int_format
ma quindi è sbagliato anche quello che ho fatto io prima?
mi riferisco al primo post...
mi riferisco al primo post...
Concettualmente no, ma non è IEEE standard 
Questo usa esponente 0 per alcuni numeri, da 1 a 254 per altri, 255 per INF e NAN.

Questo usa esponente 0 per alcuni numeri, da 1 a 254 per altri, 255 per INF e NAN.
grazie mille Rggb tutto chiaro ora, era proprio quello che volevo sapere

"Rggb":
Non è una scelta arbitraria, ma progettuale.
Perdona la pignoleria

Ma questo non conferma che il valore sia stato scelto arbitrario E opportuno per andare incontro a particolari necessità? [Che poi sarebbero Inf e NaN]
Pignoleria accettata.
E' vero, in linea di principio, vanno bene sia 127 sia 128.
Allora perché proprio 127? C'è un motivo più che valido; conosci questo (è abbastanza famoso)?
http://docs.sun.com/source/806-3568/ncg_goldberg.html

Allora perché proprio 127? C'è un motivo più che valido; conosci questo (è abbastanza famoso)?
http://docs.sun.com/source/806-3568/ncg_goldberg.html
grazie mille per tutte queste informazioni, vi ringrazio...
Per chi interessasse, riporto la citazione di cui parlavo
"David Goldberg":
... single precision has emax = 127 and emin = -126. The reason for having |emin| < emax is so that the reciprocal of the smallest number will not overflow. Although it is true that the reciprocal of the largest number will underflow, underflow is usually less serious than overflow. ...