PDA

Visualizza la versione completa : [C++] Risparmiare byte nella rappresentazione di valori double


giuseppe500
21-03-2011, 12:07
ciao.
Devo creare un file xml che contiene dati in virgola mobile , per il 90% del file.
Sono punti cartesiani e vorrei utilizare la notazione scentifica(si chiama cosi? esponenziale)
1 e -2 ecc..per risparmiare spazio nel file , dato che voglio creare dei buffer per generare una pagina html 5 con vertex buffers per 3d.

come posso ridurre il numero di caratteri di un double? ad es:
1.234324234242221
mi piacerebbe fosse
12 e-2

con n cifre in meno che moltiplicate per 10000 vertici con 3 posizioni(x,y e z),normale(x,y,z) e coordinate texture(UVQ) fanno un bel po!
mi piacerebbe usare per creare il file gli stream, magariun strstream, ma non conosco che tipo di operazione devo eseguire per trasformare i numeri.

pagina piu' compatta = meno tempo da aspettare in apertura file html

grazie.

shodan
21-03-2011, 20:48
http://www.cplusplus.com/reference/iostream/manipulators/scientific/

Se dovesse essere un collo di bottiglia si puņ passare a:

http://www.cplusplus.com/reference/clibrary/cstdio/sprintf/

o nei casi disperati si implementa una funzione ad hoc (magari spulciando l'implementazione della sprintf et similia).

Loading