Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > pl.comp.programming > #32579 > unrolled thread
| Started by | "Pszemol" <Pszemol@PolBox.com> |
|---|---|
| First post | 2019-06-12 07:17 -0500 |
| Last post | 2019-06-13 17:28 +0200 |
| Articles | 20 on this page of 120 — 24 participants |
Back to article view | Back to pl.comp.programming
Porównywanie liczb, double float "Pszemol" <Pszemol@PolBox.com> - 2019-06-12 07:17 -0500
Re: Porównywanie liczb, double float Mateusz Viste <mateusz@nie.pamietam> - 2019-06-12 12:29 +0000
Re: Porównywanie liczb, double float queequeg@trust.no1 (Queequeg) - 2019-06-12 14:53 +0000
Re: Porównywanie liczb, double float Cezary Grądys <czarekgr@wa.onet.pl> - 2019-06-12 16:54 +0200
Re: Porównywanie liczb, double float AK <nobody@nowhere.net> - 2019-06-16 21:40 +0200
Re: Porównywanie liczb, double float bartekltg <bartekltg@gmail.com> - 2019-06-16 18:44 -0700
Re: Porównywanie liczb, double float AK <nobody@nowhere.net> - 2019-06-19 08:15 +0200
Re: Porównywanie liczb, double float Piotr Wyderski <peter.pan@neverland.mil> - 2019-06-17 09:43 +0200
Re: Porównywanie liczb, double float AK <nobody@nowhere.net> - 2019-06-19 08:20 +0200
Re: Porównywanie liczb, double float AK <nobody@nowhere.net> - 2019-06-19 08:59 +0200
Re: Porównywanie liczb, double float "J.F." <jfox_xnospamx@poczta.onet.pl> - 2019-06-17 16:14 +0200
Re: Porównywanie liczb, double float AK <nobody@nowhere.net> - 2019-06-19 08:32 +0200
Re: Porównywanie liczb, double float DMR <mezzogm@gmail.com> - 2019-07-11 22:27 -0700
Re: Porównywanie liczb, double float AK <nobody@nowhere.net> - 2019-07-13 09:21 +0200
Re: Porównywanie liczb, double float DMR <mezzogm@gmail.com> - 2019-07-14 01:16 -0700
Re: Porównywanie liczb, double float AK <nobody@nowhere.net> - 2019-07-16 00:05 +0200
Re: Porównywanie liczb, double float fir <profesor.fir@gmail.com> - 2019-07-22 08:24 -0700
Re: Porównywanie liczb, double float DMR <mezzogm@gmail.com> - 2019-07-24 10:19 -0700
Re: Porównywanie liczb, double float AK <nobody@nowhere.net> - 2019-07-24 21:13 +0200
Re: Porównywanie liczb, double float fir <profesor.fir@gmail.com> - 2019-07-24 13:39 -0700
Re: Porównywanie liczb, double float AK <nobody@nowhere.net> - 2019-07-26 20:35 +0200
Re: Porównywanie liczb, double float DMR <mezzogm@gmail.com> - 2020-01-12 10:17 -0800
Re: Porównywanie liczb, double float "Pszemol" <Pszemol@PolBox.com> - 2019-06-13 08:37 -0500
Re: Porównywanie liczb, double float bartekltg <bartekltg@gmail.com> - 2019-06-13 14:22 -0700
Re: Porównywanie liczb, double float JDX <jdx@onet.pl> - 2019-06-14 06:35 +0200
Re: Porównywanie liczb, double float Mateusz Viste <mateusz@wont.tell> - 2019-06-14 06:19 +0000
Re: Porównywanie liczb, double float AK <nobody@nowhere.net> - 2019-06-16 21:53 +0200
Re: Porównywanie liczb, double float Mateusz Viste <mateusz@wont.tell> - 2019-06-17 07:02 +0000
Re: Porównywanie liczb, double float AK <nobody@nowhere.net> - 2019-06-19 08:18 +0200
Re: Porównywanie liczb, double float Mateusz Viste <mateusz@wont.tell> - 2019-06-19 07:03 +0000
Re: Porównywanie liczb, double float AK <nobody@nowhere.net> - 2019-06-25 21:32 +0200
Re: Porównywanie liczb, double float Mateusz Viste <mateusz@wont.tell> - 2019-06-25 20:05 +0000
Re: Porównywanie liczb, double float AK <nobody@nowhere.net> - 2019-06-25 22:17 +0200
Re: Porównywanie liczb, double float Mateusz Viste <mateusz@wont.tell> - 2019-06-25 20:45 +0000
Re: Porównywanie liczb, double float AK <nobody@nowhere.net> - 2019-06-25 22:56 +0200
Re: Porównywanie liczb, double float AK <nobody@nowhere.net> - 2019-06-16 21:48 +0200
Re: Porównywanie liczb, double float Tomasz Kaczanowski <kaczus@poczta.onet.pl> - 2019-06-19 11:21 +0200
Re: Porównywanie liczb, double float AK <nobody@nowhere.net> - 2019-06-16 21:43 +0200
Re: Porównywanie liczb, double float Mateusz Viste <mateusz@nie.pamietam> - 2019-06-17 07:21 +0000
Re: Porównywanie liczb, double float Piotr Wyderski <peter.pan@neverland.mil> - 2019-06-17 09:48 +0200
Re: Porównywanie liczb, double float AK <nobody@nowhere.net> - 2019-06-19 08:21 +0200
Re: Porównywanie liczb, double float Piotr Wyderski <peter.pan@neverland.mil> - 2019-06-19 09:17 +0200
Re: Porównywanie liczb, double float "J.F." <jfox_xnospamx@poczta.onet.pl> - 2019-06-17 16:09 +0200
Re: Porównywanie liczb, double float AK <nobody@nowhere.net> - 2019-06-19 08:27 +0200
Re: Porównywanie liczb, double float "J.F." <jfox_xnospamx@poczta.onet.pl> - 2019-06-19 11:45 +0200
Re: Porównywanie liczb, double float Mateusz Viste <mateusz@nie.pamietam> - 2019-06-19 11:40 +0000
Re: Porównywanie liczb, double float KLoSS <nospam.klossik@alchemy.com.pl> - 2019-06-19 21:51 +0200
Re: Porównywanie liczb, double float AK <nobody@nowhere.net> - 2019-06-25 21:53 +0200
Re: Porównywanie liczb, double float "J.F." <jfox_xnospamx@poczta.onet.pl> - 2019-06-26 06:38 +0200
Re: Porównywanie liczb, double float AK <nobody@nowhere.net> - 2019-06-25 21:51 +0200
Re: Porównywanie liczb, double float AK <nobody@nowhere.net> - 2019-06-25 21:48 +0200
Re: Porównywanie liczb, double float "J.F." <jfox_xnospamx@poczta.onet.pl> - 2019-06-26 06:10 +0200
Re: Porównywanie liczb, double float "Pszemol" <Pszemol@PolBox.com> - 2019-06-19 19:52 -0500
Re: Porównywanie liczb, double float AK <nobody@nowhere.net> - 2019-06-25 21:58 +0200
Re: Porównywanie liczb, double float Piotr Wyderski <peter.pan@neverland.mil> - 2019-06-17 09:39 +0200
Re: Porównywanie liczb, double float Mateusz Viste <mateusz@nie.pamietam> - 2019-06-17 07:53 +0000
Re: Porównywanie liczb, double float Piotr Wyderski <peter.pan@neverland.mil> - 2019-06-17 12:59 +0200
Re: Porównywanie liczb, double float AK <nobody@nowhere.net> - 2019-06-19 08:23 +0200
Re: Porównywanie liczb, double float "J.F." <jfox_xnospamx@poczta.onet.pl> - 2019-06-17 16:05 +0200
Re: Porównywanie liczb, double float "Grzegorz Niemirowski" <grzegorz@grzegorz.net> - 2019-06-17 16:25 +0200
Re: Porównywanie liczb, double float Piotr Wyderski <peter.pan@neverland.mil> - 2019-06-18 01:33 +0200
Re: Porównywanie liczb, double float Mateusz Viste <mateusz@nie.pamietam> - 2019-06-18 06:32 +0000
Re: Porównywanie liczb, double float Piotr Wyderski <peter.pan@neverland.mil> - 2019-06-18 12:04 +0200
Re: Porównywanie liczb, double float Mateusz Viste <mateusz@nie.pamietam> - 2019-06-18 12:30 +0000
Re: Porównywanie liczb, double float Piotr Wyderski <peter.pan@neverland.mil> - 2019-06-18 15:45 +0200
Re: Porównywanie liczb, double float queequeg@trust.no1 (Queequeg) - 2019-06-18 14:38 +0000
Re: Porównywanie liczb, double float Piotr Wyderski <peter.pan@neverland.mil> - 2019-06-19 09:04 +0200
Re: Porównywanie liczb, double float "J.F." <jfox_xnospamx@poczta.onet.pl> - 2019-06-18 16:52 +0200
Re: Porównywanie liczb, double float Mateusz Viste <mateusz@nie.pamietam> - 2019-06-18 15:20 +0000
Re: Porównywanie liczb, double float Roman Tyczka <noemail@because.no> - 2019-06-18 17:54 +0200
Re: Porównywanie liczb, double float fir <profesor.fir@gmail.com> - 2019-07-22 08:03 -0700
Re: Porównywanie liczb, double float AK <nobody@nowhere.net> - 2019-06-25 21:25 +0200
Re: Porównywanie liczb, double float "J.F." <jfox_xnospamx@poczta.onet.pl> - 2019-06-26 06:21 +0200
Re: Porównywanie liczb, double float AK <nobody@nowhere.net> - 2019-07-02 22:56 +0200
Re: Porównywanie liczb, double float "J.F." <jfox_xnospamx@poczta.onet.pl> - 2019-07-03 00:42 +0200
Re: Porównywanie liczb, double float fir <profesor.fir@gmail.com> - 2019-07-22 12:56 -0700
Re: Porównywanie liczb, double float Marek <fake@fakeemail.com> - 2019-06-18 22:10 +0200
Re: Porównywanie liczb, double float fir <profesor.fir@gmail.com> - 2019-07-22 01:16 -0700
Re: Porównywanie liczb, double float "J.F." <jfox_xnospamx@poczta.onet.pl> - 2019-06-18 12:11 +0200
Re: Porównywanie liczb, double float AK <nobody@nowhere.net> - 2019-06-19 08:48 +0200
Re: Porównywanie liczb, double float fir <profesor.fir@gmail.com> - 2019-07-22 00:47 -0700
Re: Porównywanie liczb, double float AK <nobody@nowhere.net> - 2019-06-19 08:43 +0200
Re: Porównywanie liczb, double float fir <profesor.fir@gmail.com> - 2019-07-22 00:37 -0700
Re: Porównywanie liczb, double float AK <nobody@nowhere.net> - 2019-06-19 08:19 +0200
Re: Porównywanie liczb, double float "J.F." <jfox_xnospamx@poczta.onet.pl> - 2019-06-12 14:44 +0200
Re: Porównywanie liczb, double float "Pszemol" <Pszemol@PolBox.com> - 2019-06-13 08:39 -0500
Re: Porównywanie liczb, double float AK <nobody@nowhere.net> - 2019-06-16 21:19 +0200
Re: Porównywanie liczb, double float "J.F." <jfox_xnospamx@poczta.onet.pl> - 2019-06-17 16:20 +0200
Re: Porównywanie liczb, double float AK <nobody@nowhere.net> - 2019-06-19 08:37 +0200
Re: Porównywanie liczb, double float "J.F." <jfox_xnospamx@poczta.onet.pl> - 2019-06-19 11:35 +0200
Re: Porównywanie liczb, double float AK <nobody@nowhere.net> - 2019-06-25 21:37 +0200
Re: Porównywanie liczb, double float "J.F." <jfox_xnospamx@poczta.onet.pl> - 2019-06-26 06:17 +0200
Re: Porównywanie liczb, double float Zbych <abuse@onet.pl> - 2019-06-12 14:48 +0200
Re: Porównywanie liczb, double float "Irek.N." <tajny@jakis.taki.jest> - 2019-06-12 14:56 +0200
Re: Porównywanie liczb, double float bartekltg <bartekltg@gmail.com> - 2019-06-12 06:07 -0700
Re: Porównywanie liczb, double float "Pszemol" <Pszemol@PolBox.com> - 2019-06-13 08:43 -0500
Re: Porównywanie liczb, double float bartekltg <bartekltg@gmail.com> - 2019-06-13 14:25 -0700
Re: Porównywanie liczb, double float AK <nobody@nowhere.net> - 2019-06-16 21:50 +0200
Re: Porównywanie liczb, double float JDX <jdx@onet.pl> - 2019-06-12 15:21 +0200
Re: Porównywanie liczb, double float "Pszemol" <Pszemol@PolBox.com> - 2019-06-13 08:24 -0500
Re: Porównywanie liczb, double float Szyk Cech <szykcech@spoko.pl> - 2019-06-12 16:52 +0200
Re: Porównywanie liczb, double float "J.F." <jfox_xnospamx@poczta.onet.pl> - 2019-06-12 17:27 +0200
Re: Porównywanie liczb, double float stary grzyb <starygrzyb@onet.pl> - 2019-06-12 18:17 +0200
Re: Porównywanie liczb, double float AK <nobody@nowhere.net> - 2019-06-16 21:21 +0200
Re: Porównywanie liczb, double float "J.F." <jfox_xnospamx@poczta.onet.pl> - 2019-06-17 16:15 +0200
Re: Porównywanie liczb, double float AK <nobody@nowhere.net> - 2019-06-19 08:34 +0200
Re: Porównywanie liczb, double float Szyk Cech <szykcech@spoko.pl> - 2019-06-16 22:10 +0200
Re: Porównywanie liczb, double float Piotrne <piotrne@poczta.onet.pl> - 2019-06-20 14:16 +0200
Re: Porównywanie liczb, double float Mateusz Viste <mateusz@nie.pamietam> - 2019-06-20 12:38 +0000
Re: Porównywanie liczb, double float Piotrne <piotrne@poczta.onet.pl> - 2019-06-22 13:36 +0200
Re: Porównywanie liczb, double float "J.F." <jfox_xnospamx@poczta.onet.pl> - 2019-06-23 14:57 +0200
Re: Porównywanie liczb, double float AK <nobody@nowhere.net> - 2019-06-25 22:09 +0200
Re: Porównywanie liczb, double float "J.F." <jfox_xnospamx@poczta.onet.pl> - 2019-06-26 06:11 +0200
Re: Porównywanie liczb, double float Janusz <janusz_kk@o2.pl> - 2019-06-20 20:39 +0200
Re: Porównywanie liczb, double float Piotrne <piotrne@poczta.onet.pl> - 2019-06-22 14:47 +0200
Re: Porównywanie liczb, double float AK <nobody@nowhere.net> - 2019-06-25 22:07 +0200
Re: Porównywanie liczb, double float AK <nobody@nowhere.net> - 2019-06-25 22:03 +0200
Re: Porównywanie liczb, double float "Pszemol" <Pszemol@PolBox.com> - 2019-06-13 08:35 -0500
Re: Porównywanie liczb, double float fir <profesor.fir@gmail.com> - 2019-07-22 00:17 -0700
Re: Porównywanie liczb, double float Dariusz Dorochowicz <_dadoro_@wp.com> - 2019-06-13 17:28 +0200
Page 6 of 6 — ← Prev page 1 2 3 4 5 [6]
| From | Szyk Cech <szykcech@spoko.pl> |
|---|---|
| Date | 2019-06-12 16:52 +0200 |
| Message-ID | <Jk8ME.2$6r.0@fx19.fr7> |
| In reply to | #32579 |
> Przyczyną błędu była różnica odejmowania wynosząca 15.1234e-15 > > Dlaczego konwersja CDbl stringu 31 lub 32.8 dodaje jakieś > śmieci do zmiennej double float na 15 miejscu po przecinku?? > A może odejmowanie stałej 1.8 wprowadza ten błąd? > > Czy to jest normalne zachowanie się VB6? > > Czy inne Visuale jak VC++ lub VC# też tak mają? Weź chłopie ić na studia (ja miałem to nawet na wieczorowych 20 lat temu) i się doucz! Zamiast zadawać głupie pytania. Choć gdybyś dłubał w czymś innym niż VB to byś wiedział o problemie (w każdej książce do Asemblera czy C czy C++ to powinno być).
[toc] | [prev] | [next] | [standalone]
| From | "J.F." <jfox_xnospamx@poczta.onet.pl> |
|---|---|
| Date | 2019-06-12 17:27 +0200 |
| Message-ID | <5d011a5d$0$524$65785112@news.neostrada.pl> |
| In reply to | #32587 |
Użytkownik "Szyk Cech" napisał w wiadomości grup dyskusyjnych:Jk8ME.2$6r.0@fx19.fr7... >> Przyczyną błędu była różnica odejmowania wynosząca 15.1234e-15 >> Dlaczego konwersja CDbl stringu 31 lub 32.8 dodaje jakieś >> śmieci do zmiennej double float na 15 miejscu po przecinku?? >> A może odejmowanie stałej 1.8 wprowadza ten błąd? > >> Czy to jest normalne zachowanie się VB6? >> Czy inne Visuale jak VC++ lub VC# też tak mają? >Weź chłopie ić na studia (ja miałem to nawet na wieczorowych 20 lat >temu) i się doucz! Zamiast zadawać głupie pytania. Choć gdybyś dłubał >w czymś innym niż VB to byś wiedział o problemie (w każdej książce do >Asemblera czy C czy C++ to powinno być). Musialbym sobie przypomniec ... ale przy okazji Assemblera raczej nikt nie poruszal takiego watku. Przy C predzej, ale to gdzies na pograniczu. Kto nie uczyl sie Fortranu, ten nie zna zycia :-) J.
[toc] | [prev] | [next] | [standalone]
| From | stary grzyb <starygrzyb@onet.pl> |
|---|---|
| Date | 2019-06-12 18:17 +0200 |
| Message-ID | <qdr8ic$8mo$1@dont-email.me> |
| In reply to | #32590 |
> Kto nie uczyl sie Fortranu, ten nie zna zycia :-) Prawda, ale wcześniej trzeba było zaliczyć Algol.
[toc] | [prev] | [next] | [standalone]
| From | AK <nobody@nowhere.net> |
|---|---|
| Date | 2019-06-16 21:21 +0200 |
| Message-ID | <qe64rf$13b8$2@gioia.aioe.org> |
| In reply to | #32590 |
On 2019-06-12 17:27, J.F. wrote: > Kto nie uczyl sie Fortranu, ten nie zna zycia :-) O przepraszam ! Ja sie uczylem Agolu/Simuli! PS: No dobra.. Fortranu też ;) AK
[toc] | [prev] | [next] | [standalone]
| From | "J.F." <jfox_xnospamx@poczta.onet.pl> |
|---|---|
| Date | 2019-06-17 16:15 +0200 |
| Message-ID | <5d07a0fb$0$503$65785112@news.neostrada.pl> |
| In reply to | #32606 |
Użytkownik "AK" napisał w wiadomości grup dyskusyjnych:qe64rf$13b8$2@gioia.aioe.org... On 2019-06-12 17:27, J.F. wrote: >> Kto nie uczyl sie Fortranu, ten nie zna zycia :-) >O przepraszam ! Ja sie uczylem Agolu/Simuli! >PS: No dobra.. Fortranu też ;) A na ktorym uczyli o mozliwych cudach numerycznych ? :-) J.
[toc] | [prev] | [next] | [standalone]
| From | AK <nobody@nowhere.net> |
|---|---|
| Date | 2019-06-19 08:34 +0200 |
| Message-ID | <qecl1f$1p3l$2@gioia.aioe.org> |
| In reply to | #32626 |
On 2019-06-17 16:15, J.F. wrote: > Użytkownik "AK" napisał w wiadomości grup > dyskusyjnych:qe64rf$13b8$2@gioia.aioe.org... > On 2019-06-12 17:27, J.F. wrote: >>> Kto nie uczyl sie Fortranu, ten nie zna zycia :-) > >> O przepraszam ! Ja sie uczylem Agolu/Simuli! >> PS: No dobra.. Fortranu też ;) > > A na ktorym uczyli o mozliwych cudach numerycznych ? :-) W "moich czasach" na wszystkim... Na Algolu, na Fortranie, na Metalurgi, na Inzynierii Materialowej na "Transporcie" itp, itd.. AK
[toc] | [prev] | [next] | [standalone]
| From | Szyk Cech <szykcech@spoko.pl> |
|---|---|
| Date | 2019-06-16 22:10 +0200 |
| Message-ID | <FmxNE.3290$N%3.2315@fx03.fr7> |
| In reply to | #32590 |
> Musialbym sobie przypomniec ... ale przy okazji Assemblera raczej nikt > nie poruszal takiego watku. Pierwsze publikacje o Asemblerze x86 pomijały 386 i koprocesor. W takiej "Asembler nie tylko dla orłów" Grzegorza Michałka (Intersoftland 1997) jest opisany 386 (i 486) z koprocesorem. I co prawda nie rozwodzi się tam nad dokładnością obliczeń, ale... Podaje jako jeden z możliwych błędów/wyjątków: "Utrata precyzji"/"Błąd precyzji" - bit 6 rejestru stanu koprocesora. > Przy C predzej, ale to gdzies na pograniczu. Tak czy owak nie powinno się pomijać kilku słów komentarza, podczas omawiania typów zmiennoprzecinkowych, na temat potencjalnych problemów przy ich stosowaniu.
[toc] | [prev] | [next] | [standalone]
| From | Piotrne <piotrne@poczta.onet.pl> |
|---|---|
| Date | 2019-06-20 14:16 +0200 |
| Message-ID | <qeftee$439$1@dont-email.me> |
| In reply to | #32590 |
W dniu 2019-06-12 o 17:27, J.F. pisze: >> Weź chłopie ić na studia (ja miałem to nawet na wieczorowych 20 lat temu) i się doucz! Zamiast >> zadawać głupie pytania. Choć gdybyś dłubał w czymś innym niż VB to byś wiedział o problemie (w >> każdej książce do Asemblera czy C czy C++ to powinno być). > > Musialbym sobie przypomniec ... ale przy okazji Assemblera raczej nikt nie poruszal takiego watku. > Przy C predzej, ale to gdzies na pograniczu. Na studiach jest (powinien być?) cały przedmiot o nazwie "Arytmetyka maszyn cyfrowych", gdzie na kilkudziesięciu godzinach wykładów można dokładnie dowiedzieć się, jak są pamiętane liczby całkowite ze znakiem, bez znaku, zmiennoprzecinkowe, dlaczego i kiedy występują błędy zaokrągleń itp. Można też dowiedzieć się, że warunek "jeśli a jest równe b" przy rzeczywistych typach a, b to proszenie się o kłopoty. Problemy nie zależą od języka programowania. Ułamka dziesiętnego 0.8 nie da się w przyjętym sposobie zapisu liczb zmiennoprzecinkowych zapisać dokładnie - w układzie dwójkowym jest to ułamek okresowy, ma nieskończenie wiele znaczących cyfr. Nie można ich wszystkich pamiętać. Oczywistym rozwiązaniem pozwalającym uniknąć błędów jest używanie tylko liczb całkowitych. Np. jeśli ma to być jakaś kwota pieniędzy, należy liczyć w groszach (zawsze całkowitych), a nie złotówkach i ułamkach złotego. P.
[toc] | [prev] | [next] | [standalone]
| From | Mateusz Viste <mateusz@nie.pamietam> |
|---|---|
| Date | 2019-06-20 12:38 +0000 |
| Message-ID | <5d0b7e33$0$19266$426a34cc@news.free.fr> |
| In reply to | #32666 |
On Thu, 20 Jun 2019 14:16:12 +0200, Piotrne wrote: > Np. jeśli ma to być jakaś kwota pieniędzy, należy liczyć w groszach > (zawsze całkowitych), a nie złotówkach i ułamkach złotego. Tymczasem akcje Ursusa stoją po 0.797 zł. :) Mateusz
[toc] | [prev] | [next] | [standalone]
| From | Piotrne <piotrne@poczta.onet.pl> |
|---|---|
| Date | 2019-06-22 13:36 +0200 |
| Message-ID | <qel3so$fc$1@dont-email.me> |
| In reply to | #32667 |
W dniu 2019-06-20 o 14:38, Mateusz Viste pisze: > > Tymczasem akcje Ursusa stoją po 0.797 zł. :) > http://wyborcza.biz/Gieldy/1,132329,24492614,gpw-zmiana-dokladnosci-krokow-notowania-akcji-i-na-rynku-terminowym.html Warszawa, 25.02.2019 (ISBnews) - Giełda Papierów Wartościowych (GPW) w Warszawie zmienia kroki notowania dla akcji, funduszy typu ETF, kontraktów terminowych na akcje i kursy waluty od 4 marca 2019 r. Kursy tych instrumentów będą określane z dokładnością do czterech miejsc po przecinku (0,0001 zł), podała Giełda ...czyli jednostką jest tutaj 1/100 grosza. Czasem praktyczne jest pamiętanie liczb zmiennoprzecinkowych jako ułamków - oddzielnie licznika i mianownika (typu całkowitego). Tak robi np. VirtualDub (do przetwarzania filmów) przy zapamiętywaniu parametrów strumienia video. P.
[toc] | [prev] | [next] | [standalone]
| From | "J.F." <jfox_xnospamx@poczta.onet.pl> |
|---|---|
| Date | 2019-06-23 14:57 +0200 |
| Message-ID | <1nnm63a3uf68t.1jynoe6k1wf2i.dlg@40tude.net> |
| In reply to | #32667 |
Dnia 20 Jun 2019 12:38:12 GMT, Mateusz Viste napisał(a): > On Thu, 20 Jun 2019 14:16:12 +0200, Piotrne wrote: >> Np. jeśli ma to być jakaś kwota pieniędzy, należy liczyć w groszach >> (zawsze całkowitych), a nie złotówkach i ułamkach złotego. > Tymczasem akcje Ursusa stoją po 0.797 zł. :) Ciekawe, czy pamietaja na float, double, czy na int w 0.1gr :-) J.
[toc] | [prev] | [next] | [standalone]
| From | AK <nobody@nowhere.net> |
|---|---|
| Date | 2019-06-25 22:09 +0200 |
| Message-ID | <qetv1g$g9d$3@gioia.aioe.org> |
| In reply to | #32675 |
On 2019-06-23 14:57, J.F. wrote: >> Tymczasem akcje Ursusa stoją po 0.797 zł. :) > > Ciekawe, czy pamietaja na float, double, czy na int w 0.1gr :-) Nie ma znaczenie jak sa pamietane. Wazne ja sa prezentowane (i porownywane). AK
[toc] | [prev] | [next] | [standalone]
| From | "J.F." <jfox_xnospamx@poczta.onet.pl> |
|---|---|
| Date | 2019-06-26 06:11 +0200 |
| Message-ID | <uhsz3ezqb1vc.6mn9l7kqw0ho$.dlg@40tude.net> |
| In reply to | #32686 |
Dnia Tue, 25 Jun 2019 22:09:22 +0200, AK napisał(a): > On 2019-06-23 14:57, J.F. wrote: >>> Tymczasem akcje Ursusa stoją po 0.797 zł. :) >> >> Ciekawe, czy pamietaja na float, double, czy na int w 0.1gr :-) > > Nie ma znaczenie jak sa pamietane. > Wazne ja sa prezentowane (i porownywane). Ale byloby istotne w kwestii wyzszosci liczb float nad fixed czy binary nad bcd :-) J.
[toc] | [prev] | [next] | [standalone]
| From | Janusz <janusz_kk@o2.pl> |
|---|---|
| Date | 2019-06-20 20:39 +0200 |
| Message-ID | <qegjtb$9sm$1$Janusz@news.chmurka.net> |
| In reply to | #32666 |
W dniu 2019-06-20 o 14:16, Piotrne pisze: > W dniu 2019-06-12 o 17:27, J.F. pisze: > Oczywistym rozwiązaniem pozwalającym uniknąć > błędów jest używanie tylko liczb całkowitych. Np. jeśli ma to być jakaś > kwota pieniędzy, należy liczyć w groszach (zawsze całkowitych), a nie złotówkach > i ułamkach złotego. Masz teoretycznie rację ale to jakiego typu zmiennej używasz zależy od języka, np w takim Cliperze 5.3 w którym w latach 90 popełniłem kilka programów liczących pieniądze jest zmienna INT ale w praniu wyszło że jest ona typu float :( i z problemem opisanym przez Przemol-a musiałem się wtedy już zmierzyć, dodawałem tysięczne części grosza na końcu przed samym porównaniem. -- Janusz
[toc] | [prev] | [next] | [standalone]
| From | Piotrne <piotrne@poczta.onet.pl> |
|---|---|
| Date | 2019-06-22 14:47 +0200 |
| Message-ID | <qel807$lgd$1@dont-email.me> |
| In reply to | #32670 |
W dniu 2019-06-20 o 20:39, Janusz pisze: > Masz teoretycznie rację ale to jakiego typu zmiennej używasz zależy od języka Można jeszcze użyć typu decimal (np. w C#), który pamięta liczby w układzie dziesiętnym i nie ma problemów z zaokrągleniami liczby 0.1. Obliczenia są znacznie wolniejsze niż dla double (są realizowane programowo, a nie sprzętowo). P.
[toc] | [prev] | [next] | [standalone]
| From | AK <nobody@nowhere.net> |
|---|---|
| Date | 2019-06-25 22:07 +0200 |
| Message-ID | <qetuur$g9d$2@gioia.aioe.org> |
| In reply to | #32674 |
On 2019-06-22 14:47, Piotrne wrote: > W dniu 2019-06-20 o 20:39, Janusz pisze: > >> Masz teoretycznie rację ale to jakiego typu zmiennej używasz zależy od języka > > Można jeszcze użyć typu decimal (np. w C#), który pamięta liczby > w układzie dziesiętnym i nie ma problemów z zaokrągleniami > liczby 0.1. Obliczenia są znacznie wolniejsze niż dla double > (są realizowane programowo, a nie sprzętowo). i moga dawac gorsze wyniki od obiczen na floatach (w dodatku dajac ułudę pewnosci:). AK
[toc] | [prev] | [next] | [standalone]
| From | AK <nobody@nowhere.net> |
|---|---|
| Date | 2019-06-25 22:03 +0200 |
| Message-ID | <qetuln$g9d$1@gioia.aioe.org> |
| In reply to | #32666 |
On 2019-06-20 14:16, Piotrne wrote: > W dniu 2019-06-12 o 17:27, J.F. pisze: > >>> Weź chłopie ić na studia (ja miałem to nawet na wieczorowych 20 lat temu) i się doucz! Zamiast >>> zadawać głupie pytania. Choć gdybyś dłubał w czymś innym niż VB to byś wiedział o problemie (w >>> każdej książce do Asemblera czy C czy C++ to powinno być). >> >> Musialbym sobie przypomniec ... ale przy okazji Assemblera raczej nikt nie poruszal takiego watku. >> Przy C predzej, ale to gdzies na pograniczu. > > Na studiach jest (powinien być?) cały przedmiot o nazwie "Arytmetyka maszyn cyfrowych", > gdzie na kilkudziesięciu godzinach wykładów można dokładnie dowiedzieć się, jak są > pamiętane liczby całkowite ze znakiem, bez znaku, zmiennoprzecinkowe, dlaczego i kiedy > występują błędy zaokrągleń itp. Można też dowiedzieć się, że warunek > "jeśli a jest równe b" przy rzeczywistych typach a, b to proszenie się o kłopoty. Swieta racja. > Problemy nie zależą od języka programowania. Ułamka dziesiętnego 0.8 nie da się > w przyjętym sposobie zapisu liczb zmiennoprzecinkowych zapisać dokładnie - w układzie > dwójkowym jest to ułamek okresowy, ma nieskończenie wiele znaczących cyfr. > Nie można ich wszystkich pamiętać. J/w. > Oczywistym rozwiązaniem pozwalającym uniknąć > błędów jest używanie tylko liczb całkowitych. Np. jeśli ma to być jakaś > kwota pieniędzy, należy liczyć w groszach (zawsze całkowitych), a nie złotówkach > i ułamkach złotego. Nie, gdyz policzenie nawet zwyklej sredniej moze sie okazac problemem. Moze sie okazac ze obliczenie jej na dwojkowych floatach jest blizsze rzeczywistosci niz na groszach, bcd czy czymkolwiek innym. AK
[toc] | [prev] | [next] | [standalone]
| From | "Pszemol" <Pszemol@PolBox.com> |
|---|---|
| Date | 2019-06-13 08:35 -0500 |
| Message-ID | <qdtjeg$4q5$1@dont-email.me> |
| In reply to | #32587 |
"Szyk Cech" <szykcech@spoko.pl> wrote in message news:Jk8ME.2$6r.0@fx19.fr7... >> Przyczyną błędu była różnica odejmowania wynosząca 15.1234e-15 >> >> Dlaczego konwersja CDbl stringu 31 lub 32.8 dodaje jakieś >> śmieci do zmiennej double float na 15 miejscu po przecinku?? >> A może odejmowanie stałej 1.8 wprowadza ten błąd? >> >> Czy to jest normalne zachowanie się VB6? >> >> Czy inne Visuale jak VC++ lub VC# też tak mają? > > Weź chłopie ić na studia (ja miałem to nawet na wieczorowych > 20 lat temu) i się doucz! Zamiast zadawać głupie pytania. Ale kultury osobistej Cię tam nie nauczyli... szkoda. > Choć gdybyś dłubał w czymś innym niż VB to byś wiedział > o problemie (w każdej książce do Asemblera czy C czy C++ > to powinno być). ha ha :-) No brawo.
[toc] | [prev] | [next] | [standalone]
| From | fir <profesor.fir@gmail.com> |
|---|---|
| Date | 2019-07-22 00:17 -0700 |
| Message-ID | <af616edb-a009-4505-af5a-00e4b36112ce@googlegroups.com> |
| In reply to | #32593 |
W dniu czwartek, 13 czerwca 2019 15:35:14 UTC+2 użytkownik Pszemol napisał: > "Szyk Cech" <szykcech@spoko.pl> wrote in message > news:Jk8ME.2$6r.0@fx19.fr7... > >> Przyczyną błędu była różnica odejmowania wynosząca 15.1234e-15 > >> > >> Dlaczego konwersja CDbl stringu 31 lub 32.8 dodaje jakieś > >> śmieci do zmiennej double float na 15 miejscu po przecinku?? > >> A może odejmowanie stałej 1.8 wprowadza ten błąd? > >> > >> Czy to jest normalne zachowanie się VB6? > >> > >> Czy inne Visuale jak VC++ lub VC# też tak mają? > > > > Weź chłopie ić na studia (ja miałem to nawet na wieczorowych > > 20 lat temu) i się doucz! Zamiast zadawać głupie pytania. > > Ale kultury osobistej Cię tam nie nauczyli... szkoda. > > > Choć gdybyś dłubał w czymś innym niż VB to byś wiedział > > o problemie (w każdej książce do Asemblera czy C czy C++ > > to powinno być). > > ha ha :-) No brawo. szyk ma duzo racji, na pewno gada madrzej niz kolega (przynajmniej w pewnym sensie) sęk w tym ze jest to problem podstawowy, cos jak programistyczne 2+2 tkwienie w tym i spedzanie na tym za duzo czasu 1) skazuje czlowieka na bycie noobem duzo czasu pozatym ze ogolnie 2) skazuje czlowieka na bycie noobem sam swego czasu lubilem tkwic w takich noobich tematach ale pozniej oduczylem sie tego (przynajmniej w sporym stopniu) i uwazam to chyba za dosyc wazne oduczyc sie tego tkwienia w podstawach.. wiaże sie to tez z tym ze jak czlowiek ma troche praktyki zauwaza ze w praktyce zasiek pewnych problemow jest dosyc wąski a jesli ktos chce sie tego naprawde porzadnie nauczyc to info w necie jest, sam kiedys czytelem to http://www.website.masmforum.com/tutorials/fptute/ co prawda dzis na x86/x64 kodu nie kompiluje sie na te instrukcje tylko na skalarne sse ale to wyzej tez mozna przeczytac bo sporo rzeczy (np sam format floata/double) jest analogiczne..
[toc] | [prev] | [next] | [standalone]
| From | Dariusz Dorochowicz <_dadoro_@wp.com> |
|---|---|
| Date | 2019-06-13 17:28 +0200 |
| Message-ID | <5d026b7f$0$500$65785112@news.neostrada.pl> |
| In reply to | #32579 |
W dniu 2019-06-12 o 14:17, Pszemol pisze:
> Witam, spędziłem wczoraj sporo godzin w biurze na debugowaniu
> kodu napisanego przez naszego kontraktora i w końcu znalazłem buga.
> Przyczyną błędu była różnica odejmowania dwu liczb całkowitych
> wynosząca 15.1234e-15 :-)
>
> Ale może więcej szczegółów podam:
>
> Pisząc w Visual Basic 6 gostek porównywał rezultat konwersji CDbl()
> stringu od którego odjął stałą numeryczną 1.8 do lokalnej zmiennej double.
>
> Czyli mamy kod:
>
> Sub AlaMaKota(nieważne tutaj argumenty procedury)
> Dim len as Double
>
> len = CDbl("tekst wydłubany z RS232") - 1.8
>
> If len <> CDbl("inny tekst wydłubany z RS232) Then
> zgłoś błąd i kapitulujemy... kaput!
> Else
> lecimy z testami talej, wsio w pariadkie
> Endif.
>
> Pierwszy tekst z RS232 był 32.8, drugi 31. 32.8-1.8 = 31.
> Powinno być wszystko ok, bo w matematyce 31 równe jest 31 :-)
> Wynik porównania VB6 był 31 nie jest równe 31 i program
> kapitulował...
>
> Po zamienieniu testu "if double <> double then" na test
> "if double - double < -0.001 Or double - double > 0.001 then"
> program zaczął pracować normalnie.
>
> Przyczyną błędu była różnica odejmowania wynosząca 15.1234e-15
>
> Dlaczego konwersja CDbl stringu 31 lub 32.8 dodaje jakieś
> śmieci do zmiennej double float na 15 miejscu po przecinku??
> A może odejmowanie stałej 1.8 wprowadza ten błąd?
>
> Czy to jest normalne zachowanie się VB6?
>
> Czy inne Visuale jak VC++ lub VC# też tak mają?
Kiedy dawno temu (naprawdę dawno) pisałem/modyfikowałem program do pracy
dyplomowej to w pewnym momencie zaczął się wysypywać z błędem dzielenia
przez zero. Po dochodzeniu okazało się że pomimo jawnej deklaracji
double pewne konkretne obliczenia robił na real i w mianowniku pojawiało
się zero. Żadne jawne deklaracje i wymuszenia typu obliczeń tego nie
potrafiły zmienić, pomogła dopiero zmiana kompilatora. Sztuczne dodanie
obliczeń powodowało tylko przesunięcie momentu wywalenia się programu.
Podobne obliczenia w innym miejscu robił jak należy. A ten drugi
(właściwie to on był pierwszy tylko z pewnych powodów chciałem użyć
innego) nie miał w ogóle takich problemów.
Pozdrawiam
DD
[toc] | [prev] | [standalone]
Page 6 of 6 — ← Prev page 1 2 3 4 5 [6]
Back to top | Article view | pl.comp.programming
csiph-web