-
X-Received: by 10.49.108.229 with SMTP id hn5mr222927qeb.14.1364236619736; Mon, 25
Mar 2013 11:36:59 -0700 (PDT)
X-Received: by 10.49.108.229 with SMTP id hn5mr222927qeb.14.1364236619736; Mon, 25
Mar 2013 11:36:59 -0700 (PDT)
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask
.pl!news.nask.org.pl!newsfeed.pionier.net.pl!news.glorb.com!ca1no6773650qab.0!n
ews-out.google.com!k8ni11100qas.0!nntp.google.com!ca1no6773643qab.0!postnews.go
ogle.com!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Mon, 25 Mar 2013 11:36:59 -0700 (PDT)
In-Reply-To: <kiq26c$aqp$1@speranza.aioe.org>
Complaints-To: g...@g...com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=178.36.110.253;
posting-account=xjvq9QoAAAATMPC2X3btlHd_LkaJo_rj
NNTP-Posting-Host: 178.36.110.253
References: <5148d9db$0$26710$65785112@news.neostrada.pl>
<4...@g...com>
<1...@g...com>
<kihto6$q3f$1@mx1.internetia.pl>
<c...@g...com>
<3...@g...com>
<a...@g...com>
<e...@g...com>
<7...@g...com>
<kipkjv$uf$1@speranza.aioe.org>
<5...@g...com>
<kipm0j$5bi$1@speranza.aioe.org>
<5...@g...com>
<kipoe5$cfe$1@speranza.aioe.org>
<4...@g...com>
<kiq26c$aqp$1@speranza.aioe.org>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <b...@g...com>
Subject: Re: Nowoczesne procesory - jak to z nimi jest?
From: "M.M." <m...@g...com>
Injection-Date: Mon, 25 Mar 2013 18:36:59 +0000
Content-Type: text/plain; charset=ISO-8859-2
Content-Transfer-Encoding: quoted-printable
Xref: news-archive.icm.edu.pl pl.comp.programming:202288
[ ukryj nagłówki ]W dniu poniedziałek, 25 marca 2013 18:40:31 UTC+1 użytkownik AK napisał:
> Otoz nie.
> Moze sie okazac, ze ten koproc/kompilator ktory akurat daje dokladnie
> w tym przypadku pow(3.0,2.0), w wiekszosci innych przypadkow
> sie "myli", natomiast ten gdy ten gorszy liczy "dobrze".
No dobrze, może czegoś się dowiem, ale kompletnie nie wiem dlaczego miałby
na pozostałych liczyć dokładniej, jeśli na tym jednym przypadku nie potrafi
nadać poprawnych wartości wszystkim bitom?
> > Być może taka dokładność jest okupiona wolniejszym wykonaniem.
> Byc moze, a byc moze nie (np inna reprezentacja wewnetrzna,
> inna dlugoscia akumulatora itp).
Tego nie wiem, tak sobie gdybam tylko.
> Zalosc tylko bierze, ze na studiach tak podstawowej rzeczy nie ucza jak
> traktowanie liczb fp w jezykach programowania jako ZAWSZE
> obarczonych pewnym bledem.
No dobrze, ale dlaczego nie wziąć takiej liczby jaką podał programista, czy
takiej jaką podał użytkownik wprowadzający dane do programu? Dlaczego jeśli
programista wpisał 1.0, to kompilator ma zrobić z tego 1.00000000000101, bo
i tak i tak to jest przybliżone?
> Ta "niedokladnosc" nalezy traktowac nie jako neidoskonalosc
> kompilatora/procesora ale jako NATURE tych liczb.
Nadal nie rozumiem, dlaczego w mnożeniu przez 0.25 zwyczajnie nie
przesunąć bitów, ale przesunąć i na koniec jeszcze dokleić 2-3 losowe
bity?
> Owszem, ciagle w kompilatorach dazy sie do uleopszen w celu
> molziwie najwiekszej dokladnosci/mozliwie najwiekszemu zneutralizowaniu
> tej CECHY fp, ale absolutnie nie nalezy tego uwazac za
> "zalatwienie" problemu. (Przyklad ostatnich ulepszen dla Pythona
> na koncu).
Ogólnie jest tak jak piszesz i zgadzam się że nie można. Ale na niektórych
argumentach operacje zmiennoprzecinkowe powinny dawać dokładne wyniki.
Jeśli nie dają dokładnych wyników, to ja to nazywam po imieniu: "są
mniej dokładne" - nie popełniam tutaj żadnego błędu. Chętnie czegoś nowego
się nauczę o obliczeniach na liczbach zmiennoprzecinkowych, ale w
tym konkretnym przypadku sprawa raczej jest oczywista.
> a tam w pierwszym algorytmie - simplex - jak byk stoi cos w rodzaju
> if abs(x - y) <= EPS then // czyli odpowiednik x == y
Myślę że każdy z piszących na tę grupę wie iż w ogólności tak należy
porównywać liczby zmiennoprzecinkowe. Mnie chodziło o bardzo szczególny
podzbiór operacji na liczbach zmiennoprzecinkowych. Powiem więcej, mam
napisaną procedurę w której używam na ostro if( x == y ). Napisałem ją
będąc świadomy zagrożeń. Ale z drugiej strony wiedziałem, że nie ma żadnego
ważnego powodu, z którego procesor nie może na moich argumentach dać
dokładnego wyniku. Skompilowałem, zrobiłem test i okazało się, że na
docelowej architekturze działa poprawnie. Na innych niż docelowa nie
działa poprawnie, więc tam mogę skorygować błędy taką techniką jaką
przytoczyłeś, albo jakąś inną.
Pozdrawiam
Następne wpisy z tego wątku
- 26.03.13 10:21 darekm
- 26.03.13 12:25 M.M.
- 26.03.13 14:42 darekm
- 26.03.13 14:48 AK
- 26.03.13 14:57 firr kenobi
- 26.03.13 15:32 AK
- 26.03.13 15:41 M.M.
- 26.03.13 17:43 M.M.
- 26.03.13 19:02 Adam Klobukowski
- 26.03.13 19:10 M.M.
- 26.03.13 22:00 M.M.
- 26.03.13 22:01 Adam Klobukowski
- 26.03.13 22:11 Adam Klobukowski
- 26.03.13 22:29 M.M.
- 26.03.13 22:45 Stachu 'Dozzie' K.
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-27 potwierdzenie notarialne dokumentow tozsamosci ze zdjeciem
- 2025-02-27 Warszawa => Account Manager - Sprzedaż Usług Rekrutacyjnych <=
- 2025-02-27 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2025-02-27 Warszawa => Mid IT Recruiter <=
- 2025-02-27 Warszawa => Expert Recruiter 360 <=
- 2025-02-27 Warszawa => Junior Rekruter <=
- 2025-02-27 China-Kraków => Key Account Manager IT <=
- 2025-02-27 Warszawa => Sales Assistant <=
- 2025-02-27 Kraków => Frontend Vue Developer <=
- 2025-02-27 Re: Zwolniony z IKEA za "wąty" przeciw firmowej promocji LGBT-IQ+ przywrócony do pracy - SN odrzucił kasacje (sygn. akt I PSK 62/24)
- 2025-02-27 Częstochowa => Manager ds. produktu <=
- 2025-02-27 Warszawa => Business Systems Analyst <=
- 2025-02-27 Nagranie poglądowe
- 2025-02-26 Zasilacz USB na ścianę.
- 2025-02-26 Błonie => Specjalista ds. public relations <=