L'esponente è non firmato . non può essere -1
. Il più piccolo che può essere è 0
, che si traduce in 2^-127
.
Potresti chiedere quindi, "In caso affermativo, come viene rappresentata 2^-128
con una precisione unica ?!".
La risposta si trova in normalization
.
Di solito i numeri sono normalized
(cioè moltiplicati per una potenza di 2) in modo che il bit iniziale della loro mantissa sia 1
. Quel bit può quindi essere omesso, offrendoti maggiore precisione (o rimuovendo la ridondanza, a seconda di chi chiedi).
È stato deciso per ~ motivi ~ (per consentire una graduale perdita di precisione durante il underflow), che non vale la pena attenersi a questo schema quando l'esponente è -127
. Piuttosto il bit principale è qualunque sia il bit principale.
In questo modo, diminuisce la risoluzione nell'intervallo 2^-127 to 2^-126
ma consente di rappresentare numeri aggiuntivi inferiori a 2^-127
.
Quindi, 2^-128
avrà un esponente di 0
(tradotto in -127
tramite bias) e una mantissa di 010000...000
. Nota che, a differenza di tutti i numeri normalizzati, la mantissa significa 0.5
- che è al di fuori del solito intervallo della mantissa per i numeri normalizzati ( 1.0 to 2.0
).
Tenendo questo a mente - il confronto esponente ha senso: 128
è maggiore di 0
:)
Tutto questo è anche fornito nell'articolo wiki su IEEE 754-1985 (e probabilmente altri) nella primissima sezione.