-
Data: 2023-02-27 17:48:44
Temat: Re: Programowanie MCU - największa liczba
Od: Adam Górski <gorskiamalpawpkropkapl@xx> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu 27.02.2023 o 16:23, J.F pisze:
> On Mon, 27 Feb 2023 12:48:06 +0100, Adam Górski wrote:
>> W dniu 26.02.2023 o 01:35, Stachu Chebel pisze:
>>> Używam Kinetis Design Studio. MCU: Arm Cortex-M4. Dokładnie jest to
>>> MK22FN512VLH12. Definiuję zmienną globalną : double a; .
>>> W przerwaniu zmienna jest inkrementowana: a=a+Byle_Co;
>>> Program działa poprawnie, ale do pewnego momentu czasowego.
>>> W pewnym momencie idzie "w maliny". Sekwencja:
>>>
>>> a=a+Byle_Co;
>>> if(a>Max)a=0;
>>>
>>> rozwiązuje problem. Ile maksymalnie mogę ustawić Max? Za cholerę nie mogę
>>> się doszukać maksymalnej wartości zmiennej typu "double" dla mojego MCU.
Eksperymentalnie ustawiłem Max=1e6. Program nie idzie w maliny. Jakie może być
największe Max?
>>>
>>
>> Problemem jest , że double jest zmiennoprzecinkowe i jak każdy typ
>> posiada swoją rozdzielczość.
>>
>> W przypadku a=a+Byle_co; w pewnym momencie osiągnie wartość stacjonarną
>> i nie będzie się już zwiększać bo Byle_Co będzie poniżej błędu
>> pojedynczego bitu dla formatu double ( no chyba że się przekręci ).
>
>
> Sugerujesz ze "program idzie w maliny" oznacza, tzn jest skutkiem
> tego, ze przestala sie zmienna zwiekszac?
> Moze i tak.
>
> Zanim sie to osiągnie, to bedzie jeszcze etap, ze zwiększa sie o nieco
> inną wartosc, bo jest to Byle_co zaokrąglane do aktualnej
> rodzielczosci.
>
> Ale tak czy inaczej to nastąpi po bardzo wielu dodawaniach, kolega by
> chyba nie doczekal.
>
> J.
Nie mogę sobie tego inaczej wyobrazić skoro po ograniczeniu do jakiegoś
poziomu - działa.
Chętnie usłyszałbym inny powód.
Pozdrawiam
Adam Górski
Następne wpisy z tego wątku
- 27.02.23 19:08 J.F
- 27.02.23 19:13 Marek
- 28.02.23 08:36 Janusz
- 04.03.23 13:19 Piotr Wyderski
- 04.03.23 13:26 Piotr Wyderski
Najnowsze wątki z tej grupy
- "Teleportacja" polskich statków na pd. Bałtyku - rosyjska zabawa w zakłócanie GPS, Galileo, Beidou i GLONASS
- W trakcie porwania prez. Maduro wojsko USONA użyło tajnej broni masowego rażenia: Discombobulator
- antena gsm - kabel - antena gsm
- PID - jeszcze raz
- Zlacze w mikrofonie z lat 80-tych
- Żywica żółknie od UV i wody :(
- Zawory termostatyczne
- Schemat automatyki
- Teoretyczne zagadnienie - ogrzewanie budynku
- Zagadka radiowa
- Prostownik
- Nowy akumulator Donut Lab
- Pilot do zamka/bramy
- Jaka myjka ultradźwiękowa?
- Retro organizer ale współcześnie
Najnowsze wątki
- 2026-01-26 #Motodziennik 365 Powrót spalinowych Renault Megane i Scenica, Volvo EX60 oraz ID.Tiguan
- 2026-01-26 Ciekawe fikoły
- 2026-01-26 Toruń => Preseles Inżynier (background baz danych) <=
- 2026-01-26 sznurowadła kwestia prawna
- 2026-01-26 Białystok => Senior Frontend Developer React <=
- 2026-01-26 Warszawa => Consultant Microsoft Dynamics 365 Finance (F&O) <=
- 2026-01-25 Organizacja religijna i nielegalna sprzedaż
- 2026-01-25 Tego "księdza" powinni wywalić z kościołai z pracy w kościele
- 2026-01-25 Zbudowany przez studentów z Holandii samochód koncepcyjny ARIA
- 2026-01-25 Zbudowany przez studentów z Holandii samochód koncepcyjny ARIA
- 2026-01-25 "Teleportacja" polskich statków na pd. Bałtyku - rosyjska zabawa w zakłócanie GPS, Galileo, Beidou i GLONASS
- 2026-01-25 W trakcie porwania prez. Maduro wojsko USONA użyło tajnej broni masowego rażenia: Discombobulator
- 2026-01-25 rozmiar skrzyżowania
- 2026-01-24 Do czego prowadzą REGULACJE opiekuńczego państwa
- 2026-01-23 Stop na zielonym




Sprzedaż nowych mieszkań wyższa niż prognozy. Dokąd zmierza rynek?