-
Data: 2023-02-27 16:23:44
Temat: Re: Programowanie MCU - największa liczba
Od: "J.F" <j...@p...onet.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]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.
Następne wpisy z tego wątku
- 27.02.23 17:48 Adam Górski
- 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
- e-paper
- 60 mA dużo czy spoko?
- Dziwne zachowanie magistrali adresowej w 8085
- Współczesne mierniki zniekształceń nieliniowych THD audio, produkują jakieś?
- Jaki silikon lub może klej?
- Smar do video
- Litowe baterie AA Li/FeS2 a alkaliczne
- "ogrodowa linia napowietrzna"
- jaki zasilacz laboratoryjny
- jaki zasilacz laboratoryjny
- Puszka w ziemię
- T-1000 was here
- Ściąganie hasła frezem
- Koszyk okrągły, walec 3x AA, na duże paluszki R6
- Brak bolca ochronnego ładowarki oznacza pożar
Najnowsze wątki
- 2025-02-19 Lista afer
- 2025-02-19 Lista afer
- 2025-02-19 Lista afer PIS
- 2025-02-19 Ogrodzenie dla krów szkockich "Highland"
- 2025-02-19 Gdańsk => System Architect (background deweloperski w Java) <=
- 2025-02-19 Gdańsk => Solution Architect (Java background) <=
- 2025-02-19 Białystok => Data Engineer (Tech Leader) <=
- 2025-02-19 Kraków => Ekspert IT (obszar systemów sieciowych) <=
- 2025-02-19 Warszawa => Architekt rozwiązań (doświadczenie w obszarze Java, AWS
- 2025-02-19 Rzeszów => International Freight Forwarder <=
- 2025-02-19 Poznań => Konsultant wdrożeniowy Comarch XL/Optima (Księgowość i
- 2025-02-19 Chrzanów => Spedytor Międzynarodowy (handel ładunkami/prowadzenie f
- 2025-02-19 Bieruń => Regionalny Kierownik Sprzedaży (OZE) <=
- 2025-02-19 Nigdy
- 2025-02-19 Katowice => Key Account Manager (ERP) <=