Stałymi zdefiniowanymi ze znaczkiem # zajmuje się preprocesor i takie wyrażenia zostają obliczone wcześniej i mikrokontroler nie musi się tym zajmować, więc nie ma potrzeby dołączania funkcji do działań na liczbach zmiennoprzecinkowych.
Mnożenie dwóch ułamków dziesiętnych:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
a struktura opisująca liczbę wygląda następująco:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Chodzi o to, że jeśli mamy do pomnożenia np. 45,4 * 2,015 to wykonujemy mnożenie dwóch liczb całkowitych 454*2015 = 914810 i znając ilość cyfr po przecinku 1 i 3 obliczamy pozycję przecinka okrężną drogą, bo najpierw część stała to 914810/(10^1*10*3) = 914810/10000 = 91 - dzielenie całkowite, a potem część ułamkowa 914810%10000=4810 co po połączeniu daje 91,4810. Sprawa komplikuje się gdy zamieniamy część ułamkową na ciąg znaków, bo jeśli w 2,015 część ułamkowa wynosi 015 to po zamianie mamy 15 i trzeba dodać to zero.