La codifica proposta in questo articolo è applicabile a tutti i formati in virgola mobile con parole di lunghezza media o piccola e l'intento è quello di offrire, pur partendo da una lunghezza del campo esponente di soli 8 bit, un eccellente intervallo di ordini di grandezza, con estremi che si avvicinano a ±100 in decimale. Un simile risultato, apparentemente impossibile, viene ottenuto tramite il ricorso a un "trucco" già illustrato in precedenti articoli e che sfrutta, per valori estremi dell'esponente, anche alcuni bit di mantissa (significando) per ampliare il range a scapito della precisione numerica.

 La tecnica viene definita "bimodale" perchè si avvale di due differenti modalità o regimi di codifica. In pratica, se guardiamo al campo esponente ξ che offre 256 combinazioni e destiniamo la prima (ξ=0) ai codificare i codici di errore "Not a Number" (NaN) e i valori ±∞, dopo avere applicato un bias pari a -128 ci ritroviamo con valori codificati ξ' che vanno da -127 a +127. Questi esponenti binari, se convertiti in decimale, forniscono l'intervallo approssimativo ±38, sufficiente nella maggior parte dei calcoli ma che potrebbe risultare piuttosto limitante in alcune situazioni più "estreme", situazioni in cui un piccolo sacrificio in termini di precisione numerica potrebbe risultare un compromesso accettabile per evitare problemi di "overflow" e ottenere comunque informazioni sull'ordine di grandezza del risultato. Personalmente, reputo ottimale la scelta di porre un limite a questa codifica "classica" in corrispondenza del valore assoluto |ξ'|=107 che permette di raggiungere un esponente decimale ±32. I rimanenti 20 valori ( 108 |ξ'| 127 ) vengono invece codificati insieme ai 4 bit meno significativi della mantissa (significando), generando per ciascuno di essi altre 16 possibili valori, da 0 a 15; alla fine, quindi, il range dell'esponente binario |ξ| sarà pari a 20×16-1 = 319 ovvero ±96 in decimale; di fatto, un intervallo triplicato. Naturalmente, non potendo utilizzare gli ultimi 4 bit, in questo caso la precisione numerica del significando subirà una riduzione corrispondente a oltre una cifra decimale (1,204 per la precisione).

 Si noti che, la categoria dei numeri "denormalizzati", ovvero valori molto piccoli a virgola fissa, può essere ottenuta in corrispondenza dell'esponente ξ'=-108 quando i 4 bit aggiuntivi valgono 0000 (in caso contrario, avremmo una duplicazione della situazione analoga quando ξ'=+108). In tal modo, sia in modalità di esponente normale che con l'esponente esteso, si finisce per avere un numero pari di combinazioni, da dedicare equamente a esponenti positivi e negativi! Questa simmetria non è soddisfatta dalle codifiche Floating canoniche, in cui entrambi gli esponenti estremi vengono utilizzati per altri scopi (numeri denormalizzati e NaN, rispettivamente) lasciando quindi a disposizione un numero pari di valori di ξ e costringendo quindi, tolto il valore ξ'=0, ad avere un numero maggiore di esponenti negativi rispetto ai positivi.

 La tabella in apertura illustra le possibili applicazioni di questo "esponente esteso bimodale" a diversi possibili standard di Floating Point (FP) con lunghezze di parola comprese tra 16 e 48 bit. Per un utilizzo generico, infatti, l'uso di un esponente di lunghezza inferiore a 8 bit è comunque sconsigliabile. Per parole più lunghe (ad esempio formati FP di 52, 64, 80 e 96 bit) sarebbe opportuno utilizzare un esponente bi-modale potenziato, come quello a 10 bit descritto in un precedente articolo, che consente una precisione piena con esponente |ξ'|<146 ed un sacrificio di due decimali sul significando con esponente massimo fino a 1000. Andando su parole ancora più lunghe, la tecnica dell'esponente esteso non ha più molto senso e la mia preferenza andrebbe su un esponente fisso di 16 bit, in grado di garantire un range decimale comunque sovrabbondante di ±9863. In questo modo, su tutte le codifiche FP possibili, alla fine avremmo tre "domini" di esponente crescente che sfruttano a pieno la lunghezza di 2, 3 e 4 cifre decimali. 

 In ultimo, ricordiamo sempre che tutti gli standard presentati rispettano il criterio di "tracciabilità", nel senso che il risultato di una catena di calcoli che dovesse incontrare anche solo una volta un numero espresso con esponente esteso e quindi con una precisione ridotta sarà a sua volta riportato come tale, dando all'utente la libertà di riconoscerlo e scegliere se utilizzarlo o rifiutarlo perchè affetto da una sorta di "overflow" che ne ha degradato la precisione.