Lorenzo221 ha scritto:
Grazie per la risposta,
serve per un progetto di un software matematico...
Ti faccio, inoltre, presente che, apparte i numeri di precisione arbitraria (di cui ti sono grato), tutti i link che hai riportato fanno riferimento a formati appartenenenti al (quasi omnicomprensivo) standard IEEE 754.
Di numeri in virgola mobile al di fuori di questo standard, ho trovato solo: https://en.wikipedia.org/wiki/IBM_Floating_Point_Architecture
C'è altro?
Grazie.
(bastava leggere i link!!!!)
Ma ti conviene prenderli in considerazione?
Se utilizzi il formato binario per essere salvato su/letto da file, trasferito/ricevuto via rete, oppure, in futuro integri nel tuo progetto librerie di terze parti, oppure hardware dedicato, per un motivo qualsiasi, ti ritrovi con una bella fregatura!
Alla fin fine, qualunque formato deve necessariamente avere:
1) una mantissa
2) un esponente
3) un segno per la mantissa
4) un segno per 'esponente
5) aggiungici il complemento a 2!
Se vuoi inventarti un formato custom, ti basta una permutazione qualunque dei 5 punti.
Ad esempio il formato Microsoft mette prima l'esponente e poi il segno della mantissa!
Scomodo, visto che gli interi hanno il segno in testa! Ma e' una permutazione dei 5 punti di cui sopra!
Puoi usare il BCD, i fixed point (che il programmatore medio non usa mai, ma che sono perfetti per implementare il concetto di currency/soldi/moneta)
Qualunque sia il software che vuoi implementare, se vuoi supportare piu' formati, e' irragionevole implementarlo per tutti i formati.
Quello che dovresti fare e':
1) routine di conversione da&per il formato strano a quello di riferimento usato nel tuo software
2) implementazione del tuo software usando il formato standard.
A questo punto, perche' non usare come formato standard il IEEE 754????
E spulcia con Google!!!