-
Data: 2010-09-24 02:15:44
Temat: Re: Porównywanie ułamków zwykłych
Od: Mariusz Marszałkowski <m...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie 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
- 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-17 Kraków => MS Dynamics 365BC/NAV Developer <=
- 2025-02-17 Chrzanów => Programista NodeJS <=
- 2025-02-17 Warszawa => Node.js / Fullstack Developer <=
- 2025-02-17 Białystok => System Architect (Java background) <=
- 2025-02-17 Białystok => Solution Architect (Java background) <=
- 2025-02-17 Gliwice => Team Lead / Tribe Lead FrontEnd <=
- 2025-02-17 Gdańsk => PHP Developer <=
- 2025-02-17 Warszawa => Senior ASP.NET Developer <=
- 2025-02-17 Gliwice => Business Development Manager - Network and Network Security
- 2025-02-17 Mińsk Mazowiecki => Area Sales Manager OZE <=
- 2025-02-17 Odśnieżanie samochodu
- 2025-02-17 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2025-02-17 Dęblin => JavaScript / Node / Fullstack Developer <=
- 2025-02-17 Pompiarze...
- 2025-02-16 PV teraz