-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!wsisiz.edu.pl!plix.pl!newsfeed1.plix.pl
!newsfeed00.sul.t-online.de!t-online.de!border2.nntp.dca.giganews.com!nntp.giga
news.com!postnews.google.com!m1g2000vbh.googlegroups.com!not-for-mail
From: Mariusz Marszałkowski <m...@g...com>
Newsgroups: pl.comp.programming
Subject: Re: Porównywanie ułamków zwykłych
Date: Thu, 23 Sep 2010 19:15:44 -0700 (PDT)
Organization: http://groups.google.com
Lines: 62
Message-ID: <4...@m...googlegroups.com>
References: <op.vjdmp0xe8x7o78@notebook> <i7ar1d$vhr$1@news.onet.pl>
<op.vjeimq0o8x7o78@notebook>
<0...@y...googlegroups.com>
<op.vjhgixzb8x7o78@notebook>
<f...@q...googlegroups.com>
NNTP-Posting-Host: 89.229.34.123
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-2
Content-Transfer-Encoding: quoted-printable
X-Trace: posting.google.com 1285294544 10979 127.0.0.1 (24 Sep 2010 02:15:44 GMT)
X-Complaints-To: g...@g...com
NNTP-Posting-Date: Fri, 24 Sep 2010 02:15:44 +0000 (UTC)
Complaints-To: g...@g...com
Injection-Info: m1g2000vbh.googlegroups.com; posting-host=89.229.34.123;
posting-account=xjvq9QoAAAATMPC2X3btlHd_LkaJo_rj
User-Agent: G2/1.0
X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.2.10)
Gecko/20100914 Firefox/3.6.10,gzip(gfe)
Xref: news-archive.icm.edu.pl pl.comp.programming:186971
[ ukryj nagłówki ]On 24 Wrz, 02:09, bartekltg <b...@g...com> wrote:
> On 23 Wrz, 13:21, "Wojciech \"Spook\" Sura" <spook"mad@hatter"op.pl>
> wrote:
>
>
>
> > Dnia 22-09-2010 o 22:04:18 nightwatch77 <r...@g...com>
> > napisał(a):
>
> > >> Dodam jeszcze, że nie satysfakcjonuje mnie wykorzystanie typu o
> > >> większej precyzji, np. long long int. Równie dobrze możemy przyjąć, że
> > >> licznik i mianownik są typu long long int i że mianowniki są z górnej
> > >> granicy tego zakresu.
>
> > > a jak ktoś wymysli rozwiązanie to wtedy dodasz jeszcze że chodzi o
> > > takie które używa tylko bitowego przesuwania w lewo, czy już koniec
> > > wymagań?
>
> > Ograniczenie obliczeń do zakresu long inta od początku było jedynym
> > wymaganiem. Po prostu stosowanie w takim przypadku long long inta jest
> > ominięciem a nie rozwiązaniem problemu (abstrahując od faktu, że być może
>
> Ktoś pisał: zaimplementuj dowolna precyzje. Albo uzyj ulamkow
> z GMP.
>
> > będę korzystał w moim programie właśnie z long long intów zamiast z long
> > intów, a long long long inta nie ma :) ).
>
> gcc ma na maszynach 64 bitowych typ __int128_t.
Jeśli dobrze zrozumiałem, OP chodziło o to że program
może być napisany na dowolnym typie, np. na takim dużym od
którego już większego typu wbudowanego nie ma. Wtedy
pozostaje GMP, albo rozbicie jednej zmiennej na... chyba
aż na trzy trzeba.
Jeśli jest:
a*d - b*c == 0
to każdą zmienną można wyrazić jako:
x = jedna_trzecia_bitow
a = a_3*2^(x*2) + a_2*2^x + a_3
wtedy mnożymy w słupku:
a_3 a_2 a_1
x d_3 d_2 d_1
--------------------------
1x3 1x2 1x1
2x1 2x2 2x3
3x1 3x2 3x3
Obojętnie jakiego typu użyje to zadziała. Trzeba oczywiście
specjalnie obsłużyć bit znaku.
Pozdrawiam
Najnowsze wątki z tej grupy
- 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
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
- Press Release - AEiC 2023, Ada-Europe Reliable Softw. Technol.
- Ada-Europe - AEiC 2023 early registration deadline approaching
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2023
- Ile cykli zajmuje mnożenie liczb 64-bitowych?
Najnowsze wątki
- 2024-07-01 W-wa naklejki wjazd do centrum
- 2024-07-01 ładowarka zmarła
- 2024-07-01 Koder szuka pracy. Koduję w j.: Asembler, C, C++ (z Qt) i D.
- 2024-07-01 Kraków => Kierownik Działu Spedycji Międzynarodowej <=
- 2024-07-01 Białystok => Full Stack Web Developer (.Net Core, Angular6+) <=
- 2024-07-01 Berlin => Technical Rollouter (Radio Systems Software Installation and
- 2024-07-01 Warszawa => Key Account Manager <=
- 2024-07-01 Gdańsk => Programista Full Stack .Net <=
- 2024-07-01 Zabrze => Junior HelpDesk <=
- 2024-07-01 Warszawa => Key Account Manager <=
- 2024-07-01 Bielsko-Biała => Expert Migration Architect (Azure) <=
- 2024-07-01 Mini Netykieta polskich grup dyskusyjnych
- 2024-07-01 Re: Jak wypełnić polecenie francuskiego sądu blokowania niektórych zapytań DNS? Blokując Francję
- 2024-07-01 Re: Powtórne wezwanie na PO-komisję uzdrowi Ziobrę już w 10 dni
- 2024-07-01 CA -- problem z logowaniem