-
Data: 2010-09-21 11:35:11
Temat: Re: Porównywanie ułamków zwykłych
Od: "Wojciech \"Spook\" Sura" <spook"mad@hatter"op.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Dnia 21-09-2010 o 12:20:47 Mariusz Marszałkowski <m...@g...com>
napisał(a):
> Propozycja pierwsza:
> epsilon = dobrać_doświadczalnie;
> return fabs( (double)a/b - (double)c/d ) < epsilon ;
W taki właśnie sposób porównuję ułamki zmiennoprzecinkowe. Jednak trochę
martwi mnie sytuacja, w której mogę otrzymać informację, że dwa ułamki są
równe, gdy w rzeczywistości będą różniły się o mniej niż epsilon (a
wszystkie składowe ułamków są intami, co - przynajmniej teoretycznie -
umożliwia deterministyczne porównania).
> Propozycja druga:
> a /= GCD(a,c);
> c /= GCD(a,c);
> a /= GCD(a,b);
> b /= GCD(a,b);
> c /= GCD(c,d);
> d /= GCD(c,d);
> b /= GCD(b,d);
> d /= GCD(b,d);
> return a*d == c*b;
Złośliwy przykład:
11/2147483629 i 17/2147483647.
Zarówno końcowe a*d jak i c*b przekroczy zakres long inta.
> Pozdrawiam
Pozdrawiam -- Spook.
--
! ._______. Warning: Lucida Console sig! //) !
! || spk || www.spook.freshsite.pl / _ """*!
! ||_____|| spook at op.pl / ' | ""!
! | ___ | tlen: spoko_ws gg:1290136 /. __/"\ '!
! |_|[]_|_| May the SOURCE be with you! \/) \ !
Następne wpisy z tego wątku
- 21.09.10 11:37 Tomasz Kaczanowski
- 21.09.10 11:40 Wojciech \"Spook\" Sura
- 21.09.10 11:42
- 21.09.10 11:47 Tomasz Kaczanowski
- 21.09.10 11:59 Mariusz Kruk
- 21.09.10 12:05 Mateusz Ludwin
- 21.09.10 12:14 Marcin 'Qrczak' Kowalczyk
- 21.09.10 13:29 Mariusz Marszałkowski
- 21.09.10 14:20 Wojciech \"Spook\" Sura
- 21.09.10 14:21 Wojciech \"Spook\" Sura
- 21.09.10 14:22 Wojciech \"Spook\" Sura
- 21.09.10 16:27 Piotr Chamera
- 20.09.10 03:37 j...@f...adres.to
- 21.09.10 18:09 nightwatch77
- 21.09.10 20:14 Marcin 'Qrczak' Kowalczyk
Najnowsze wątki z tej grupy
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
Najnowsze wątki
- 2024-12-23 Riga => Specjalista ds. public relations <=
- 2024-12-23 Łódź => Specjalista ds. Sprzedaży <=
- 2024-12-23 Kraków => International Freight Forwarder <=
- 2024-12-23 Co nalezy do Cinkciarza, a co do Conotoxia ?
- 2024-12-23 Poznań => Key Account Manager <=
- 2024-12-23 Warszawa => Presales / Inżynier Wsparcia Technicznego IT <=
- 2024-12-23 Rzeszów => Spedytor Międzynarodowy <=
- 2024-12-23 Warszawa => Infrastructure Automation Engineer <=
- 2024-12-23 Białystok => Analityk w dziale Trade Development (doświadczenie z Po
- 2024-12-23 Warszawa => Site Reliability Engineer (SRE) <=
- 2024-12-23 Warszawa => DevOps Engineer <=
- 2024-12-23 Warszawa => Senior Account Manager <=
- 2024-12-23 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2024-12-23 Katowice => Administrator IT - Wirtualizacja i Konteneryzacja <=
- 2024-12-23 Mińsk Mazowiecki => Spedytor Międzynarodowy <=