Posted By: Rat (ctyri mozkove bunky) on 'CZprogram'
Title:     Re: Zaokrouhlovani cisla typu Extendedyy
Date:      Sat May 11 10:09:03 2002

> >  Jestli vyse uvedene spravne chapu, tak tvrdis, ze if (abs(a-b) <
> KONST_EPS)
> > je spravny zpusob porovnani pro jakkoli velke/male a, b ? Presnost se ti
> > prave 
> > ztraci v prvnim bitu za mantisou, ktera na exponentu zavisla je. Zkus
> > loadnout 
> > double, ulozit ho dvakrat jako float, jednou pri nastavenem zaokrouhlovani
> 
> > dolu, podruhe nahoru, loadni znovu a spocitej rozdil.
> Pokud jsou a,b 'ruzna' hodne od sebe, pak je jejich rozdil sam o sobe
> velkej, 
> tutiz porovnani s E vyjde 'tak jak ma' (tedy to abs bude vetsi). Ztraci se 
> vic nez jeden bit, neb interne je presnost 80 (intelovsky FPU). Co se tyce 
> tohodle bitu, tak pri dodrzeni podminky ze M je <0.5-1) bude vzdy nejvissy 
> bit mantisi 1ka a toho je v IEEE754 zneuzito k tomu (neni pouzivanej a pri 
> vypoctech je doplnovanej automaticky) se zvojnasuboje presnost. Pokud se 
> dostavas do oblasti nizkych exponentu (hodne malych cisel) tak prestava mit 
> smysl neco porovnavat na presnost (ted sa bavime o cislech blizkych 
> nejnizsimu vyjadritelnymu cislu). A samozrejmne ze to zavisi na 
> zaokrouhlovani (a je jedno jesli je dvojita nebo normlani presnot, vzdy se 
> bude zaokrouhlovat). Tedy ano, dovolim si trvdit ze je to spravne (minimalne
> podle IEEE normy kdyz ne podle mne :) 
> 
> Chyba pri vypoctu, vznikla zaokrouhlovanim je 'jina'. Ta se tady neimplikuje
> (kde ce treba ve vyse uvedem projevi ?) Neboli, tuhle chybu ja neberu v
> potaz, 
> protoze uz jen ta "nepresnost" staci k tomu abys potreboval epsilon. A chybu
> v 
> zaokrouhlovani nemuzes posuzovat obecne, ta zalezi uz na konkretni veci (co 
> se pocita, jak, v jakym poradi, ....) Ad zaokrouhlovani - tak je to zavisli
> na 
> VYSI cisla, to se shodneme. Ale nepresnot o ktery tu mluvime prameni nekde 
> jinde (viz puvodni post kde bylo klasicky a,b,c=a+b a test na c). Nekde muze
> byt chyba (absolutne) 0.0000000000001% 'adekvatni' (a akceptovatelna), jinde
> to mzue byt uplne jinak. 
> 
> Nechapu proc sem pletes double a floaty (predpokladam ze mas na mysli
> 32/64). 
> Napis vis co si tim myslel. Ja celou dobu mluvim o nepresnoti jako TAKOVY,
> ne 
> nepresnosti vzikajici PRI vypoctu (opet odkazuji na puvodni post, presne na 
> toto narazel). 

 Ja se jen snazim vyvratit tve tvrzeni, ze chyba neni zavisla na exponentu
operandu (jestli jsem to pochopil spravne) - ty double/floaty byl priklad, 
problem je jednoduse v tom, ze se at uz pri vypoctu, ci pri konverzi z 
desitkove soustavy ci pri konverzi z delsiho typu na kratsi, ztrati nekolik 
poslednich n (pri konverzi z desitkove soustavy i nekonecno) bitu. A tyhle 
bity pochopitelne jsou zavisle na exponentu, tot vse, co jsem chtel rict. 
Takze pak na srovnani dvou cisel nelze pouzit jednotne epsilon. Ale jak rikam, 
mozna nekde doslo k nepochopeni, co puvodnim "clankem" bylo mysleno ;) 

> Pivson I a posledni, z bozi vule pivar
> 
>     A co budou delat cesi ???
>                                      Deme na pivo !

        Krysa
                rat@atrey.karlin.mff.cuni.cz              Jsem Krysa
                http://atrey.karlin.mff.cuni.cz/~rat/

Search the boards