Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 13 cze 2025, o 01:58


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 
    Autor Wiadomość
     Tytuł: wartość float
    PostNapisane: 24 lip 2014, o 17:49 
    Offline
    Nowy

    Dołączył(a): 06 lis 2013
    Posty: 5
    Pomógł: 0

    Mam do was taką zagwozdkę:
    Obrazek

    Jak widać tworzę sobie float i przypisuje sobie do niego jakąś wartość. Ale w debugerze patrzę, że ta zmienna ma inną wartość. Dlaczego? Pracuję na stm32vldiscovery i CooCox.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 24 lip 2014, o 17:58 
    Offline
    Użytkownik

    Dołączył(a): 04 paź 2011
    Posty: 8615
    Pomógł: 338

    Nie zwracaj uwagi na debuger w coide , czasem coś mu się kaszani przy pracy z STlinkiem , niestety najlepiej współpracuje
    z Colinkiem ::P

    _________________
    Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 24 lip 2014, o 19:12 
    Offline
    Nowy

    Dołączył(a): 06 lis 2013
    Posty: 5
    Pomógł: 0

    No właśnie debuger działa dobrze. Po prostu ta zmienna ma taką wartość. Funkcją USART_float wysyłam rsem float z 4 miejscami po przecinku i w terminalu odbieram 3.0999 ...

    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 24 lip 2014, o 19:41 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 07 kwi 2013
    Posty: 418
    Lokalizacja: Rzeszów
    Pomógł: 102

    Moim zdaniem nie jest to problem z debuger'em, ale kwestia samej reprezentacji liczb zmiennoprzecinkowych w systemach cyfrowych. Nie można dokładnie przedstawić liczby 3.1 w sposób binarny, a jedynie jej dobre przybliżenie (11.0(0011)) w ten właśnie sposób, że po powtórnej konwersji otrzymamy 3.0(9).

    Dla sprawdzenia polecam taki konwerter online: http://baseconvert.com
    Wprowadzając w pole "Binary" liczbę 11.00011, a później kolejno systematycznie dodając sekwencje 0011, zobaczymy w polu "Decimal" odpowiednik rzeczywistej wartości dziesiętnej. Spróbuj tak kombinować z bitami, aby uzyskać równo 3.1... niemożliwe? :) Pomijam tutaj zaokrąglenie samego konwertera, który dla odpowiednio długiej sekwencji po prostu zaokrągla liczbę ;)

    Dla float:
    http://www.binaryconvert.com/result_flo ... =051046049
    Większą dokładność można uzyskać przy typach double (podwójnej precyzji):
    http://www.binaryconvert.com/result_dou ... =051046049


    Autor postu otrzymał pochwałę


    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 24 lip 2014, o 20:26 
    Offline
    Nowy

    Dołączył(a): 06 lis 2013
    Posty: 5
    Pomógł: 0

    łoł, nie znałem tej gałęzi magii programowania, dzięki :D



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    Wyświetl posty nie starsze niż:  Sortuj wg  
    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Majestic-12 [Bot] i 5 gości


    Nie możesz rozpoczynać nowych wątków
    Nie możesz odpowiadać w wątkach
    Nie możesz edytować swoich postów
    Nie możesz usuwać swoich postów
    Nie możesz dodawać załączników

    Szukaj:
    Skocz do:  
    cron
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO