eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaArduino błąd dzielenia - czy są testy dla atmegi? › Re: Arduino błąd dzielenia - czy są testy dla atmegi?
  • Data: 2018-12-05 21:37:13
    Temat: Re: Arduino błąd dzielenia - czy są testy dla atmegi?
    Od: "J.F." <j...@p...onet.pl> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    Użytkownik "Cezary Grądys" napisał w wiadomości grup
    dyskusyjnych:5c081b42$0$485$6...@n...neostrada.
    pl...
    >Kupiłem sobie na próbę klona Arduino nano na Allegro.
    >Działa ok, ale przyłapałem go na błędzie.
    >Otóż kombinuję, żeby zrobić programowany generator przez
    >podział częstotliwości zegara. Wysyłałem częstotliwość
    >przez USB i zwrotnie dostawałem obliczony podzielnik.
    >Raz jeden (za pierwszym uruchomieniem) zdarzyło się, że

    >16000000/0.2 wyszło 80000008

    >Najpierw pomyślałem, że funkcja nie nadaje się do dzielenia przez
    >niewielkie ułamki, bo inne wyniki były dobre. Ale wpisałem jeszcze
    >raz to 0.2 i dostałem prawidłowy wynik, czyli 80000000.
    >No i zagwozdka, mogło przekłamać przy liczbie binarnej, ale również
    >przy transmisji, znak '0' i '8' tez różni się 1 bitem, podobnie jak
    >wartość binarna.
    >Jestem pewny dobrego podania dzielnika, bo wypisywał zwrotnie dane.

    Istotnie zagwozdka - czemu 1 raz. Moze i przeklamany bit.

    Bo jest jeszcze druga - jak oni/ty to liczysz.

    0.2 nie ma dokladnej reprezentacji w binarnym formacie
    zmiennoprzecinkowym.

    Wiec jesli jest jakas biblioteka zmiennoprzecinkowa uzyta, to mamy w
    pamieci naprawde liczbe
    0.199999... i tu juz moze sie 8000008 pojawic :-)

    J.

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: