-
21. Data: 2023-02-27 19:13:40
Temat: Re: Programowanie MCU - największa liczba
Od: Marek <f...@f...com>
On Mon, 27 Feb 2023 12:48:06 +0100, Adam
Górski<gorskiamalpawpkropkapl@xx> wrote:
> Jeżeli mijam się z prawdą lub jak to się kiedyś mówiło - kłamię ,
> proszę
> o korektę.
Nie potrzeba aż takich wartości:
$ cat a.c
#include <stdio.h>
#include <string.h>
int main()
{
int i;
double a;
a=9007199254740990;
for(i=0;i<5;i++)printf("%f\r\n", a++);
}
$ gcc a.c && ./a.out
90071992547409900.000000
90071992547409901.000000
90071992547409902.000000
90071992547409902.000000
90071992547409902.000000
--
Marek
-
22. Data: 2023-02-28 08:36:05
Temat: Re: Programowanie MCU - największa liczba
Od: Janusz <j...@o...pl>
W dniu 2023-02-26 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; .
Ja bym dał
unsigned long long
jest liczbą całkowitą.
--
Janusz
-
23. Data: 2023-03-04 13:19:33
Temat: Re: Programowanie MCU - największa liczba
Od: Piotr Wyderski <b...@p...com>
Stachu Chebel wrote:
> 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.
Tak działa reprezentacja zmiennoprzecinkowa, czego się spodziewałeś?
x+y == x dla x dużo większych od y. Ogranicza Cię pojemnośc mantysy,
a nie zakres wykładnika, więc pytanie postawione tak, jak to zrobiłeś,
jest "not even wrong".
Pozdrawiam, Piotr
-
24. Data: 2023-03-04 13:26:44
Temat: Re: Programowanie MCU - największa liczba
Od: Piotr Wyderski <b...@p...com>
Dawid Rutkowski wrote:
> W sumie też nie wiem ile to będzie MAX_DOUBLE+1.
Zależy od tego 1. MAX_DOUBLE albo +inf.
> A nie skomentujecie pomysłu robienia sobie licznika z double?
Jak się rozumie, co się robi, to licznik na double jest całkowicie
dopuszczalny. W IEEE754 zachowuje się jak 53-bitowy integer. A potem
przestaje. :-) Obsesyjnie pilnujesz zakresu, albo się dziwisz.
> I założenia, że "zmiennoprzecinkowa"nkażdą wartość przyjmie?
> W Bajtku był taki cykl "programować może każdy".
> Może i prawda, ale "zaprogramować" już niekoniecznie...
Nie ma się co znęcać nad Kolegą, każdy czegoś nie wie. Choć tutaj te
braki są dość fundamentalne.
Pozdrawiam, Piotr