-
Data: 2013-03-25 19:36:59
Temat: Re: Nowoczesne procesory - jak to z nimi jest?
Od: "M.M." <m...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie 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
- 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
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
Najnowsze wątki
- 2024-11-29 Dławik CM
- 2024-11-29 [OT] Lewe oprogramowanie
- 2024-11-29 Błonie => Sales Specialist <=
- 2024-11-29 Warszawa => IT Expert (Network Systems area) <=
- 2024-11-29 Warszawa => Ekspert IT (obszar systemów sieciowych) <=
- 2024-11-29 Warszawa => Head of International Freight Forwarding Department <=
- 2024-11-29 Białystok => Inżynier Serwisu Sprzętu Medycznego <=
- 2024-11-29 Pómpy ciepła darmo rozdajoo
- 2024-11-29 Białystok => Application Security Engineer <=
- 2024-11-29 Białystok => Programista Full Stack (.Net Core) <=
- 2024-11-29 Gdańsk => Software .Net Developer <=
- 2024-11-29 Wrocław => Key Account Manager <=
- 2024-11-29 Gdańsk => Specjalista ds. Sprzedaży <=
- 2024-11-29 Chrzanów => Specjalista ds. public relations <=
- 2024-11-27 Re: UseGalileo -- PRODUKTY I APLIKACJE UŻYWAJĄ JUŻ DZIŚ SYSTEMU GALILEO