Posted By: Rat (ctyri mozkove bunky) on 'CZprogram'
Title:     Re: Zaokrouhlovani cisla typu Extendedy
Date:      Fri May 10 19:13:51 2002

> Je jedno jak je co dlouhy (pro 80 bitu je to 64/15/1).
> 
> Vynecham to, ze nektery kombinace tvori specialni cisla (ala nekonecko, 
> zaporny nekonecne a pod) a ze se ridi podle nastaveni FPU (treba
> rozklisovani 
> zapornyho a kladnyho nekonecna) a ze nima jdou provadet nektery ukony.
> Abysme 
> se dostali k jadru veci, v zasade jsou normlizovana a denormalizovana cisla.
> 
> Normalizovany cislo vypada 'mantisa * 2^exponent'
> 
> Je to z ciste matematickych duvodu (desitkova soustava je pro pocitani dost 
> nevhodna :o) [tedy vsimni si, neni tu nic o m*10^exp)
> 
> Napises li tedy 5, nebude to ulozeno jako binarne 0.5 * 10^1 ale jako neco 
> uplne jinyho. __PROTO__ zde vznika urcita nepresnost uz jen vlozenim cisla. 
> Vyjadrim-li se doslova, pak konkretne 5ku FPU _NEDOKAZE_ vyjadrit jako 
> 'absolutni' hodnotu, vzdy se tomu bude 'jen' priblizovat.

 Tohle se tu resilo cca pred nejakou relativne nedavnou dobou, a ... FPU 
dokaze naprosto presne vyjadrit jakekoli cele cislo (rozumne velke - tzn. do 
velikosti mantisy). 

> A to jeste u normalizovanyho cisla je mantisa mezi 0.5-1.0.

 Konkretne <0.5, 1.0) ;)

> Jdu se najist a pak dopisu zbytek... 

 Dobrou chut.

> Kdyz to reknu jinak, at je cislo VELKY nebo MALI - vzdy se bere ABS(a-b) a
> to 
> z toho duvodu aby se zjistil ROZDIL. Absolutni rozdil ve vyjadreni techto 
> cisel. Jeli rozdil mensi, nez 'nejmensi krok po kterym je FPU schopny 
> 'korigovat cislo' pak jsou si ty cisla rovny. NE protoze je zde chyba ve FPU
> a 
> vypoctu, ale protoze FPU vyjadruje cisla JINAK. I integeru CPU ma zakladni 
> jednotku '1'. Muzes napsat 1,2,3... U FPU jsou to sileny mocniny 2. Takze
> zde 
> neni 'linearni' krok. 
> 
> Proto je jedno, jesli epsilon pouzijes pro MALY/VELKY cislo. Exponent sem 
> VUBEC nemotej, nema s tim NIC spolecnyho.

 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.

> Jo a jeste jedna vec. Narozdil od jinych soustav, u desetinych cisel se 
> presnost vyajdruje NIKOLIV poctem desetinnych mist, ale presnosti 'na 
> zobrazene' cifry. Proto v predhozim pripade (docels slusna presnost 
> mimochodem - drzel jsem tu 0 moc dlouho :o) jsou za 'koncem' cisla dalsi 
> mista. 

 Tohle podle me nezalezi ani tak na soustave, jako spis na lidske definici ;) 

> 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