Implementare float to string

Intrebari despre limbajul C++, standardul C++, STL, OOP in C++ sau alte subiecte nelegate de VisualC++
Post Reply
florin_b
Junior
Junior
Posts: 8
Joined: 10 Jun 2013, 10:38
Judet: Bucureşti

Implementare float to string

Post by florin_b » 10 Jun 2013, 10:57

Salut,

Sint curios care este algoritmul pentru convertirea unui numar float la string, asa cum face functia sprintf. Am gasit pe net ce contine un float (partea aia cu mantissa si exponent), dar nu-mi dau seama cum sa ajung de la asta la un string. Pentru un integer e simplu, dar pentru float n-am nicio idee. M-am uitat in sursele de la Visual Studio alea din Vc\crt\src sa vad cum face sprintf la ei, dar am gasit doar comentariul asta in fisierul output.c:

/* floating point conversion -- we call cfltcvt routines */

Nu reusesc sa gasesc codul pentru cfltcvt, cred ca sursele alea nu-s complete de fapt. :)

Poate sa ma ajute cineva?



User avatar
Marius Bancila
Fondator
Fondator
Posts: 2344
Joined: 11 Jul 2007, 11:45
Judet: Timiş
Location: Timisoara
Contact:

Re: Implementare float to string

Post by Marius Bancila » 10 Jun 2013, 12:40

Marius Bancila
Fondator Codexpert, Microsoft MVP VC++
Site personal | Blog

florin_b
Junior
Junior
Posts: 8
Joined: 10 Jun 2013, 10:38
Judet: Bucureşti

Re: Implementare float to string

Post by florin_b » 11 Jun 2013, 09:04

Multumesc pentru link! M-am uitat putin prin codul ala si n-am inteles mai nimic. :) O sa mai incerc, dar mi-ar fi de mare ajutor o explicatie a formulelor folosite, daca stie cineva.

tudor_t
Membru
Membru
Posts: 112
Joined: 26 Aug 2007, 15:11

Re: Implementare float to string

Post by tudor_t » 11 Jun 2013, 09:20

Nu e de mirare ca e (foarte) complexa implementarea, cum sprintf trebuie sa parseze acel format string, care poate ajunge destul de complex. Oricum, sprintf face mult mai mult decat sa converteasca un float la string.. Ca sa vezi ca povestea nu e simpla, un exemplu de articol care descrie un posibil algoritm (nu stiu daca e si corect :) ): http://www.cs.indiana.edu/~burger/FP-Pr ... PLDI96.pdf

florin_b
Junior
Junior
Posts: 8
Joined: 10 Jun 2013, 10:38
Judet: Bucureşti

Re: Implementare float to string

Post by florin_b » 12 Jun 2013, 11:43

Stiu ca sprintf face mai mult dar pe mine ma interesa doar partea asta cu float. Oricum mersi pentru PDF, pare sa fie ce-mi trebuie mie. O sa-l studiez si revin daca am mai am intrebari!

Post Reply