-
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
atman.pl!.POSTED!not-for-mail
From: bartekltg <b...@g...com>
Newsgroups: pl.comp.programming
Subject: Re: ułamki (alternatywnie do floata)
Date: Thu, 14 Nov 2013 20:25:30 +0100
Organization: ATMAN - ATM S.A.
Lines: 73
Message-ID: <l6384k$p54$1@node1.news.atman.pl>
References: <c...@g...com>
NNTP-Posting-Host: 89-76-71-155.dynamic.chello.pl
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: node1.news.atman.pl 1384457172 25764 89.76.71.155 (14 Nov 2013 19:26:12 GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Thu, 14 Nov 2013 19:26:12 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101
Thunderbird/24.1.0
In-Reply-To: <c...@g...com>
Xref: news-archive.icm.edu.pl pl.comp.programming:204689
[ ukryj nagłówki ]W dniu 2013-11-13 19:29, firr pisze:
Nie chciałem sam karmić, ale wątek się rozbijał;)
> juz pare razy sie zastanawialem cze gdyby
> zdefiniowac sobie liczbe jako pare integerow
> licznik i mianownik (najlepiej jako i64
> a nie i32 bo dla 32 bit chyba szybko mogloby
> dochodzic do przepelnienia) to czy takie
> rachunki nie mialyby szansy byc lepszymi
> od floata/double
Jak już powiedziano, zastąpienie doubla
ułamkiem z intów sensu nie ma.
Jest to czasem przydatne, ale w specyficznych
zastosowaniach.
Jako ciekawostka, do standardu c++ wleciało coś takiego
http://en.cppreference.com/w/cpp/numeric/ratio
Za to przydać się może w innych zastosowaniach.
> zalety sa np takie
>
> 1) jest to szybkie tj arytmetyka calkowita bez dzielenia w wiekszosci operacji
Już padło. 1145/2568 + 6848/6127
Ile operacji musisz wykonać? Co najmniej 3 mnożenia i jedno dodawanie,
a wypadałoby jeszcze ułamek skrócić.
> 2) byloby to (poki sie nie wywali z powodu
> przepelnienia0 scisłe, tj nie traci informacji
Chyba, że postanowię policzyć ułamek:)
I znów, przydatne, al tylko w specyficznych zastosowaniach.
> 3) pozwala opoznic dzielenie, floaty wykonuja
> dzielenia z kazdym znakiem / - taka liczba o wiele
> rzadziej np przy wydruku na ekran reprezentacji dziesietnej
Dzielenie dwóch intów nie jest czasem mniej kosztowne niż
operowanie na typie udającym dwa razy dłuższego inta.
Dwa razy, na licznik i mianownik;)
>
> wady - nie wiem czy to wogole by dzialalo tj
> boje sie ze szybko by sie przepelniało (ale moze
> dla i64 nie tak szybko?)
>
> ktos moglby rozwinac jakos ten temat i powiedzic
> cos na temat tej opcji?
Może jakiś przykład prawie*) z życia. Generowałem sobie kiedyś
węzły i współczynniki do kwadratur gaussa. Nic prostszego,
generujesz wielomiany legandrea, potem szukasz zer - to są węzły.
Formuła trójczłonowa dla tych wielomianóww jest wymierna.
Mają tylko wymierne współczynniki.
Po wygenerowaniu wieomianów miejsca zerowe i całki
można już liczyć z dowolną precyzją, bez konieczności
przeliczania wszystkiego ze zwiększoną dokładnością.
*) prawie, bo obecne komputery są na tyle mocne, że
na wielomian potrzebny do wszelkich rozsądnych operacji
wystarczy wziąć pakiet typu gmp i wpisać sporą dokładność,
weryfikując tylko wyniki, czy nie ma szumu:)
pzdr
bartekltg
Następne wpisy z tego wątku
- 14.11.13 23:22 A.L.
- 15.11.13 00:03 bartekltg
- 15.11.13 08:07 Paweł Kierski
- 15.11.13 08:09 Tomasz Kaczanowski
- 15.11.13 08:13 Tomasz Kaczanowski
- 15.11.13 08:20 Paweł Kierski
- 15.11.13 09:07 firr
- 15.11.13 09:59 Paweł Kierski
- 15.11.13 12:07 Ghost
- 15.11.13 12:13 Tomasz Kaczanowski
- 15.11.13 12:24 Ghost
- 15.11.13 12:32 Tomasz Kaczanowski
- 15.11.13 13:03 Ghost
- 15.11.13 13:12 Tomasz Kaczanowski
- 15.11.13 13:39 Paweł Kierski
Najnowsze wątki z tej grupy
- 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??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
Najnowsze wątki
- 2025-02-01 Śmierć mózgu a narządy do pobrania
- 2025-01-31 A niektórym to naprawdę zależy na ekologi w miastach LPG POWRACA ;-)
- 2025-01-31 Lublin => Programista Delphi <=
- 2025-01-31 Łódź => Programista NodeJS <=
- 2025-01-31 Wrocław => Senior SAP Support Consultant (SD) <=
- 2025-01-31 Warszawa => Full Stack web developer (obszar .Net Core, Angular6+) <=
- 2025-01-31 Gdańsk => iOS Developer (Swift experience) <=
- 2025-01-31 Kraków => UX Designer <=
- 2025-01-31 Warszawa => Data Engineer (Tech Leader) <=
- 2025-01-31 Gliwice => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2025-01-31 Gliwice => Business Development Manager - Network and Network Security
- 2025-01-31 Warszawa => Architekt rozwiązań (doświadczenie w obszarze Java, AWS
- 2025-01-31 Warszawa => Full Stack .Net Engineer <=
- 2025-01-31 Warszawa => Programista Full Stack (.Net Core) <=
- 2025-01-31 Gdańsk => Programista Full Stack .Net <=