-
Path: news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
From: "Wojciech \"Spook\" Sura" <spook"mad@hatter"op.pl>
Newsgroups: pl.comp.programming
Subject: Re: Porównywanie ułamków zwykłych
Date: Tue, 21 Sep 2010 13:35:11 +0200
Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
Lines: 50
Message-ID: <op.vjdrsxoo8x7o78@notebook>
References: <op.vjdmp0xe8x7o78@notebook>
<d...@h...googlegroups.com>
NNTP-Posting-Host: dynamic-78-8-44-83.ssp.dialog.net.pl
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-2; format=flowed; delsp=yes
Content-Transfer-Encoding: Quoted-Printable
X-Trace: inews.gazeta.pl 1285068910 20185 78.8.44.83 (21 Sep 2010 11:35:10 GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Tue, 21 Sep 2010 11:35:10 +0000 (UTC)
X-User: spoko_ws
X-Antivirus: avast! (VPS 100921-0, 2010-09-21), Outbound message
X-Antivirus-Status: Clean
User-Agent: Opera Mail/10.62 (Win32)
Xref: news-archive.icm.edu.pl pl.comp.programming:186937
[ ukryj 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
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- 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??
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) <=