-
Data: 2011-05-24 23:00:43
Temat: Re: porownanie wyniku mnozenia integerow
Od: " " <f...@W...gazeta.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]<t...@W...gazeta.pl> napisał(a):
> Paweł Kierski <n...@p...net> napisał(a):
>
> > Pewnie chodzi Ci o jakieś dodatkowe warunki (np. a*b > MAX_INT), ale
> > wypadałoby to napisać wyraźne 8-)
>
> w jakim celu?
> co najwyzej mozna dodac informacje ze a*b moze (ale musi) > MAX_INT
> ale to nic nie wnosi :)
>
> > Dla takich przypadków strzelam - podział na czynniki i porównanie
> > zsumowanych dla a i b oraz c i d (multi)zbiorów tych czynników.
> > Jeśli tożsame, to iloczyny równe.
>
> to strasznie wolne.
> Chodzi raczej o to, czy ktos zna zestaw warunkow typu mnozenie, dodawanie
> modulo, lub czy mnozenie jako double moze prowadzic do blednych wynikow.
>
nawet 32 bitowe x86 obsluguja mnozenie 32 bity * 32 bity (wynik jest
ponoc w EDX:EAX ) tak ze nie wiem czy kompilator by tu cos chrzanil
jest tez przeciez obsluga 64 bitowych liczb ew emulowna softowo
(nie wiem jak dokladnie z tym jest)
co do prownan nie wiem czy nie ma jakichs sztuczek z matematyki - nie
zajmowalem sie
mozna tez oczywiscie sprobowac dawac jakies przedwarunki np
jesli max(a,b)<min(c,d) to wiadomo ze a*b<c*d itp
mozna tez ew probowac cos ze sprawdzaniem najwyzszych bitow
w x86 jest o ile pamietam instrukcja ktora podaje poz pierwszego
zapalonego bitu od lewej - i zastanowic sie kiedy mozna orzec
nierownosc
teraz mnozenia sa ponoc szybkie tak ze najprosciej pewnie
pomnozyc - doczytac o tym ew softowym typie 64 bit, nie wiem
1)
czy kompilator schrazni porownanie a*b==c*d (?) czy z zasad jezyka wynika
ze musi skladniki (jesli sa typu int64 przed porownaniem konwertowac do
int32?)
2) czy cos takiego nie da sie zrobic
int64 x= a*b;
int64 y= c*d;
if(x==y)....
3) vel
int64 x= a*b;
int64 y= c*d;
if((x.lo==y.lo) && (x.hi==y.hi))....
--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
Następne wpisy z tego wątku
- 25.05.11 07:16 Paweł Kierski
- 25.05.11 13:01
- 24.05.11 23:32 Wiktor S.
- 25.05.11 18:39 bartekltg
- 26.05.11 06:40 Paweł Kierski
- 26.05.11 12:21 Wojciech \"Spook\" Sura
- 26.05.11 13:07 bartekltg
- 26.05.11 21:14 Jędrzej Dudkiewicz
- 03.06.11 14:17 Pawel WQLQS
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-06-10 wyobrazcie sobie ze
- 2024-06-10 malowanie samochodu
- 2024-06-10 News from Poland
- 2024-06-10 Czy na pewno będą CŁA na chińskie samochody?
- 2024-06-09 Dlaczego w Polsce sie nic nie udaje, na przykładzie niebieskiego lasera a teraz perskowitów
- 2024-06-09 Dlaczego w Polsce sie nic nie udaje, na przykładzie niebieskiego lasera a teraz perskowitów
- 2024-06-09 Wykrywanie przerwy w długim przewodzie zakopanym w ziemi.
- 2024-06-09 Czemu news.chmurka.nwt jest taki wolny?
- 2024-06-11 Funbox 3.0 zakres adresów DHCP
- 2024-06-11 Re: Funbox 3.0 zakres adresów DHCP
- 2024-06-09 Miernik szybkości netu
- 2024-06-11 Panele PV w pionie (prawie).
- 2024-06-11 czy ta grupa żyje?
- 2024-06-11 Warszawa => Senior React Native Developer <=
- 2024-06-11 Gdańsk => Kierownik Działu Spedycji Międzynarodowej <=