Jako osobisty projekt, napisałem kompilator dla mojego własnego języka w stylu C, aby celować w emulator procesora własnego projektu.Jak języki obsługują drukowanie płaszczyzn pod maską?
W tym celu chcę zaimplementować standardową bibliotekę zmiennoprzecinkową (typowa pojedyncza precyzja IEEE), ale starałem się wymyślić sposób na wydrukowanie elementów pływających w łatwy do odczytania sposób (np. 1.2345 zamiast nieprzetworzonej liczby całkowitej), najlepsze, co mogę myśleć, to generowanie wartości dla logów 2 i wykonywanie pewnych dziwnych multiplikacji w celu uzyskania liczby w odpowiedniej postaci do drukowania.
Czy istnieje algorytm przekształcania elementu pływającego w formularz, który można łatwo wydrukować, lub w celu wydrukowania obiektu typu float, który można zaimplementować bez korzystania z wersji printf("%f",float_value);
lub odlewania w języku C?
Pewnie, dlaczego nie spojrzeć na realizację z 'printf'? –
Lub jeden z nich, na przykład 'glibc's, ponieważ jego kod źródłowy jest dostępny do pobrania. –
możliwy duplikat [kodu źródłowego funkcji c/C++] (http://stackoverflow.com/questions/1127328/source-code-of-cc-functions) –