Come progetto personale, ho scritto un compilatore per il mio linguaggio C come target per un emulatore di CPU del mio progetto.In che modo le lingue gestiscono la stampa fluttua sotto il cofano?
Come parte di questo, voglio implementare una libreria a virgola mobile standard (tipica IEEE singola precisione), ma ho faticato a pensare a un modo di stampare i float in un modo facile da leggere (come in 1.2345 anziché il numero intero di dati non elaborati), il meglio che potrei pensare è generare valori per il registro 2 e fare alcune moltiplicazioni dispari per ottenere il numero in un formato adatto per la stampa.
Esiste un algoritmo per convertire un float in una forma facilmente stampabile o per stampare un float che può essere implementato senza utilizzare printf("%f",float_value);
o digitare i cast in un linguaggio simile a C?
Certo, perché non dare un'occhiata a un'implementazione di 'printf'? –
Oppure uno di questi, ad esempio 'glibc', poiché il codice sorgente è disponibile per il download. –
possibile duplicato di [codice sorgente delle funzioni c/C++] (http://stackoverflow.com/questions/1127328/source-code-of-cc-functions) –