-
Data: 2013-03-25 15:35:16
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 15:12:32 UTC+1 użytkownik AK napisał:
> Np. dlatego ze porownujesz liczby zmiennoprzecinkowe
> "na ostro" a tego nie wolno robic (prawie) nigdy !
Nie chciałem powiedzieć ani że wolno, ani że nie wolno.
Chcę powiedzie tylko to, że jeśli zarówno argumenty funkcji
jak i zwracane wartości są sumą (całkowitych) potęg dwójki i
mieszczą się w zakresie liczby zmiennoprzecinkowej, to nie
ma żądnych ważnych powodów, aby procesor podał wartość
przybliżoną - wtedy może podać dokładną.
Jeśli w powyższych warunkach jedna para: kompilator, procesor
daje dokładną wartość, a druga nie daje, to chcę powiedzieć
tylko to, że ta pierwsza działa trochę dokładniej.
Niemniej temat czy wolno czy nie wolno jest ciekawy, nadawałby
się na osobny wątek. Mam taki jeden program, w którym
funkcja działa pod warunkiem że suma jej argumentów równa
się jeden. W trakcie długotrwałych obliczeń, algorytmem
ewolucyjnym przerzucam z jednego argumentu do drugiego
jakąś wartość. Np.
a = 0.75
b = 0.25
tmp = a * 0.25;
a -= tmp;
b += tmp;
Okazuje się, że często działa to zgodnie z oczekiwaniami, czyli
strata dokładności po dobie obliczeń jest w okolicach zera, albo
wręcz jest równa zero. Niestety na niektórych procesorach muszę
co ileś iteracji robić poprawkę straconej dokładności...
Niby można to wytłumaczyć tym, że na typie zmiennoprzecinkowym mamy
obliczenia przybliżone. Ale jeśli procesor/kompilator akurat dla jakiś
argumentów może dać dokładny wynik a nie daje... to ja jakoś wolę nazywać
gorszą jakością procesora czy kompilatora.
Pozdrawiam
Następne wpisy z tego wątku
- 25.03.13 15:53 AK
- 25.03.13 16:03 Edek Pienkowski
- 25.03.13 16:10 Edek Pienkowski
- 25.03.13 16:15 AK
- 25.03.13 16:21 Edek Pienkowski
- 25.03.13 16:22 Michoo
- 25.03.13 16:30 wloochacz
- 25.03.13 16:31 M.M.
- 25.03.13 18:40 AK
- 25.03.13 19:36 M.M.
- 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
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-12 Warszawa => Expert Recruiter 360 <=
- 2025-02-12 Ostrów Wielkopolski => Area Sales Manager OZE <=
- 2025-02-12 Bieruń => Regionalny Kierownik Sprzedaży (OZE) <=
- 2025-02-12 Dęblin => Node.js / Fullstack Developer <=
- 2025-02-12 Kraków => PHP Full Stack Developer <=
- 2025-02-12 Karta dźwiękowa stereo
- 2025-02-12 Dęblin => JavaScript / Node / Fullstack Developer <=
- 2025-02-12 Gdańsk => Specjalista ds. Sprzedaży <=
- 2025-02-12 Łódź => NodeJS Developer <=
- 2025-02-12 Błonie => Sales Specialist <=
- 2025-02-12 Dziwne zachowanie magistrali adresowej w 8085
- 2025-02-11 Mini pecet
- 2025-02-10 Spalił się spaliniak
- 2025-02-10 zarowka wifi - z sensowna apka lub lepiej albo lokalnie lub przez web. I zeby harmonogram miala
- 2025-02-10 Chrzanów => Programista NodeJS <=