eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingNowoczesne procesory - jak to z nimi jest?Re: Nowoczesne procesory - jak to z nimi jest?
  • Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
    atman.pl!.POSTED!not-for-mail
    From: bartekltg <b...@g...com>
    Newsgroups: pl.comp.programming
    Subject: Re: Nowoczesne procesory - jak to z nimi jest?
    Date: Wed, 27 Mar 2013 01:38:25 +0100
    Organization: ATMAN - ATM S.A.
    Lines: 85
    Message-ID: <kitf24$srj$1@node1.news.atman.pl>
    References: <5148d9db$0$26710$65785112@news.neostrada.pl>
    <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>
    <b...@g...com>
    <515168b3$0$26703$65785112@news.neostrada.pl>
    <a...@g...com>
    <kit5rm$aig$1@node2.news.atman.pl>
    <4...@g...com>
    NNTP-Posting-Host: 144-mi3-6.acn.waw.pl
    Mime-Version: 1.0
    Content-Type: text/plain; charset=UTF-8; format=flowed
    Content-Transfer-Encoding: 8bit
    X-Trace: node1.news.atman.pl 1364344708 29555 85.222.69.144 (27 Mar 2013 00:38:28
    GMT)
    X-Complaints-To: u...@a...pl
    NNTP-Posting-Date: Wed, 27 Mar 2013 00:38:28 +0000 (UTC)
    User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20130307
    Thunderbird/17.0.4
    In-Reply-To: <4...@g...com>
    Xref: news-archive.icm.edu.pl pl.comp.programming:202309
    [ ukryj 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

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: