-
Data: 2013-03-27 01:38:25
Temat: Re: Nowoczesne procesory - jak to z nimi jest?
Od: bartekltg <b...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu 2013-03-26 23:40, M.M. pisze:
> W dniu wtorek, 26 marca 2013 23:01:23 UTC+1 użytkownik bartekltg napisał:
>> W dniu 2013-03-26 12:25, M.M. pisze:
>>
>>> Niczego to nie zmienia. Logarytm tez mozna policzyc na mantysie o 2 bity
>>> dluzszej (np. na precyzji 66bitow) i wynik bylby dokladny.
>> :)
>> Szkolny przykład.
>> x=1/4;
>> x <- 4*x*(1-x).
>> Powinien wyjść cykl 1/4, 3/4, 1/4...
> Mnie chodziło jeszcze o coś innego, ale świetle tego, że procesory
> liczą zawsze tak samo, to już jest nieważne :)
>
>
>> Dla lepszego związku z tematem dodam, że dwa bity więcej
>> nie spowodują, że zawsze dostaniesz dobry wynik. Dwa
>> bity więcej oznaczają, że najczęściej dostaniesz poprawny
>> wynik.
> No tak, ale to jednak inny przykład i obliczenia pomimo że
> proste, to znacznie bardziej skomplikowane od tych, o jakie
> mnie chodziło. Jeśli mamy N liczb i każda z nich jest sumą
> całkowitych potęg dwójki, wszystkie są dodatnie, razem
> sumują się (dokładnie) do jedynki i mieszczą się w typie, to
> w wyniku poniższych operacji na tych liczbach:
> i = rand( 1 , N )
> j = rand( 1 , N )
> tmp = x[i] * 0.5;
> x[i] -= tmp;
> x[j] += tmp;
> Suma nie powinna odbiegać od jeden? Odpalam jeden tego
> typu program na dobę i po dobie obliczeń nie mam straty
> dokładności.
To czemu nie zrobiłeś tego na intach;>
Już daję kontrprzykład.
X ma dwa elementy.
Za każdym razem losujemy
i=1
j=2
Czyli za każdym razem połowa pierwszego elementu idzie do drugiego.
w k tym kroku
x[1] = 0.5^(k+1)
x[2] = 1 - 0.5^(k+1)
Przy odpowiednim sposobie zaokrąglania pojawi się +-epsylon.
Np jeśli mamy zaokrąglanie w dół, jest klapa.
Pewnie bez trudu zmontujesz przykład, gdzie liczby pozostają
podobnego rozmiaru, a ta jedynka wędruje w keirunku przecinka
i w końcu go mija.
Zaokrąglanie zaokrąglaniem, ale nieprawdą jest to:
>
>> Odpłynęliśmy równie daleko, mimo, że zarówno argument
>> naszego wyrażenia, jak i wynik były zapisywalne dokładnie.
> Hmmm, ale wszystkie pośrednie wyniki też były dokładne? Bo
> w przykładzie o jaki mnie chodzi, wszystkie pośrednie wyniki
> przynajmniej mogą być dokładne.
Nie, nie były dokładne. W najprostszym przypadku z przykładu
powyżej mamy ciągłe dodawanie małego elementu do ~jedynki
A, nie mówiąc już o tym, że sama procedura sumowania może
doprowadzić do błędów!
Dokładność 3 bity:
x= 10 000b + 1b +1b +1b +1b +1b +1b +1b +1b +1b +1b +1b +1b 1b +1b +1b +1b.
Wynik powinien byc 100 000b, a jest 10 000b
pzdr
bartekltg
Następne wpisy z tego wątku
- 27.03.13 08:31 M.M.
- 27.03.13 08:42 Tomasz Kaczanowski
- 27.03.13 08:47 Tomasz Kaczanowski
- 27.03.13 08:54 AK
- 27.03.13 08:55 AK
- 27.03.13 09:42 M.M.
- 27.03.13 09:47 M.M.
- 27.03.13 10:10 Tomasz Kaczanowski
- 27.03.13 10:25 M.M.
- 27.03.13 10:28 Michoo
- 27.03.13 11:16 AK
- 27.03.13 11:20 darekm
- 27.03.13 12:21 M.M.
- 27.03.13 12:39 AK
- 27.03.13 13:05 M.M.
Najnowsze wątki z tej grupy
- 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
- Ada 2022 Language Reference Manual to be Published by Springer
Najnowsze wątki
- 2024-11-08 Warszawa => Head of International Freight Forwarding Department <=
- 2024-11-08 Warszawa => Key Account Manager <=
- 2024-11-08 Szczecin => Key Account Manager (ERP) <=
- 2024-11-08 Białystok => Full Stack web developer (obszar .Net Core, Angular6+) <
- 2024-11-08 Wrocław => Senior PHP Symfony Developer <=
- 2024-11-08 Warszawa => QA Engineer <=
- 2024-11-08 Warszawa => QA Inżynier <=
- 2024-11-08 Warszawa => Key Account Manager <=
- 2024-11-08 Gdańsk => Software .Net Developer <=
- 2024-11-08 Akumulator Hyundai
- 2024-11-08 Warszawa => Manager/Specialist e-commerce (B2C) <=
- 2024-11-08 Gdańsk => Specjalista ds. Sprzedaży <=
- 2024-11-08 Gdańsk => Kierownik Działu Spedycji Międzynarodowej <=
- 2024-11-08 znaj podstawe
- 2024-11-08 Chrzanów => Specjalista ds. public relations <=