- Eurós árlista a Google Pixel 10 telefonokhoz
- Milyen okostelefont vegyek?
- Itt az igazság a Samsung állítólagos Android Auto alternatívájáról
- Huawei Watch Fit 3 - zöldalma
- Xiaomi 13 - felnőni nehéz
- Három új órát hozott a Samsung, a csúcson az Ultra
- Android alkalmazások - szoftver kibeszélő topik
- Yettel topik
- Sony Xperia 1 V - kizárólag igényeseknek
- Egyesíti a Google az Android és a ChromeOS rendszereket
Aktív témák
-
Power
senior tag
''akkor most elvileg van olyan egész szám amit nem lehet FP16on ábrázolni pontosan mantisszából?''
Már, hogyne volna?
Mivel csak 3 tizedesjegy pontosságú ezért egy csomó lehet.
pl. minden olyan 2048 feletti egész szám pontatlanul ábrázolhatatlan ami páratlan.
4096 felett már elég, ha nem osztható maradék nélkül 4-gyel és így tovább.
Az pontosság szempontjából teljesen mindegy, hogy egész vagy sem, csak az számít, hogy hány 2-edesjegyen fér el.
A 0,1 például 2-es számrendszerben végtelen 2-edes tört, azaz nem ábrázolható teljesen pontosan, míg 0,015625 hiba nélkül ábrázolható.
''Ja még valami: digit-life cikkje alapján (talén már linkeltem) az ATI r3xx es hardver minden belső pixel shader regisztere FP24es. ''
Ez miért fűzöd mindig hozzá? :) -
Power
senior tag
''Savagegamers: ''Lebegopontos számábrázolás esetén a kettedespont helye nem fix, hanem a fixpontosként felírt számban vándorol. Egy ''seeemmmmm'' formátumú lebegopontos szám értéke: (-1)^s*2^(e-bias)*1.m, azaz az ''s'' bit meghatározza az elojelet, az e-vel jelölt exponens ketto valamelyik hatványát adja (a ''bias'' egy fix konstans, a nulla érték helyét jelöli ki, így mind negatív, mind pozitív hatvány elérheto), ami a már említett jobbra/balra tologatás miatt az m-el jelölt mantissza eltolását jelenti (normalizát számokról lévén szó, a mantissza elso bitje mindig 1, így azt nem ábrázoljuk, a maradék pedig törtrészt ad meg).''
Eszerint és szerény tudásom szerint az fp16 valahol 10ad16 nagyságrendjében van maxban és minimuma 10ad(-15) táján van, finomsága pedig 2ad(-15) szóval nemértem hogyan jön a 3 jegy hacsak nem a ((2ad10)/2)-1 fixpontos 10bitbol.''
Na erre már tényleg írnom kell!!!
Ha most hétfon írsz, akkor már késo :)
Szóval a szám mindegyik részét kettes számrendszerben tárolódik, azaz fp16 esetén(nem része a IEEE Standard for Binary Floating-Point Arithmetic'' ANSI / IEEE Std 754-1985 New York szabványnak, nem véletlenül csak 32 bit és afelettitol határozták meg)
az exponens 5 bites, azaz az exponens -15...+16 tartomány ölel fel(fizikailag van egy ún. Nullpont amihez hozzáadódik a pozitív/negatív elojeles érték az ábrázolásnál - bias vagy minek írták) . Ebbol következoen a nagyságrend 2^-15 és 2^16 között van.
Ez tízesszámrendszerben 15 * log(2) ~ 4,5 azaz 10 ^ -4,5 ... 10^+4,8
Na most ez még nem olyan nagy baj, hisz ez könnyen megoldható programozási oldalról, hogy a nagyságrendbol nem lépünk ki. Gyakorlatilag a nem a nagyságrend miatt szoktak 64/80/128 bites lebegopontos számításokat alkalmazni, hanem a pontosság miatt.(Egy FP64 szám nagyságrendje 10^308-as ami a csak nagyon kevés helyre nem elég).
A pontosság viszont csak a mantisszából ered s ez független az exponenstől.
Vegzünk egy egyszerű példát:
6730
1101001001010 (2-es számrendszerben)
Normalitzáljuk: 1,101001001010 * 2^12 - itt 12 számjegy van az vezeto egyes után, viszont nekünk csak 10 bitünk van, így az utolsó két jegy elveszik.
Tehát 1,1010010010 * 2^12 - ez csak 6728. Hopp már a 3-dik számjegy nem jó! Ha felfelé kerekítünk akkor 6732 az eredmény, így csak a negyedik számjegy nem jó(bár az eltérés a pontosszámtól ugyanakkora), tehát csak 3 számjegyre pontos az ábrázolásunk bármit csinálunk.
A valóságban azonban még sokkal nagyobb gond van! Ugyanis számolni is szeretnék a számunkkal.
A szám nagyságrendjétol most tekintsünk el, hogy az tudjuk ábrázolni majd 16 biten(az exponens miatt - ugyanis a szorzat eredménye végtelen lenne).
Szorozzuk a 6730-at önmagával -> 45292900, majd osszuk el 6730-cal. Az eredmény a 6730
16 bites lebegopontos számokkal:
Adott a (6728) * (6728) = ?
Ez binárisan áll egy mantissza szorzásból, az exponenseknél pedig csak összedás van.
1,1010010010 * 1,1010010010 = 1,010110010101101000100 * 2^1
Azonban továbbra is csak 10 jegynek van hely az egyes után, így: 1,0101100101 * 2^25 ami csak 45252608
Na osszuk el 6728-cal:
1,0101100101 * 2^25 / 1,1010010010 2^12 = 1,1010010001 * 2^12 (s ez már csak 6724)
Könnyen belátható minnél több muveletet végzünk annál nagyobb lesz a számolási hiba. Simán nem tartahó a 3 jegy pontosság összetettebb számításoknál.
Te:''Úgy néz ki hiányosak az ismereteid számábrázolás és ATI számhasználat terén is.''
Én: ''Ha valamit máshogy tudsz, mint ahogy van, az nem biztos hogy téged igazol.''
TE: ''Ezt nemértem? ... ''
Így érthető?
''szép-szép...''
Szép bizony! :) -
Power
senior tag
''Hát syomorú amit műveltek mindkét oldalról...''
Ez tényleg syomorú.
''Valahol (2es számrendszer egészek) igaz hogy a 8bites szám 8 számjegyet ábrázol de ebben a DX9 esetben ez NEM áll. Erre lehet FreeM módjára reagálni és lehet másképp: ''
Dehogynem. Az FP16 se5m10 alakú. Azaz 10 darab 1 bites számjegyet ábrázol ez tizesszámrendszerben pont 3.
''Kedves Power!
Úgy néz ki hiányosak az ismereteid számábrázolás és ATI számhasználat terén is. ''
Ha valamit máshogy tudsz, mint ahogy van, az nem biztos hogy téged igazol. :)
''1. Saját érdekedben nézz rá Tessier www.savagegamers.hu-n található cikkére amiben foglalkozik számábrázolással vagy látogass be valami nyilvános egyetemi előadásra számítógépes architektúrákkal kapcsolatban (Veszprémben Dig Rendszerek és Számgép Arch indul februárban és az első 1-2órán elmondanak mindent ami fontos számábrázolásban - valahol fenn van az előadások anyaga, ha érdekel megkeresem). Másik megoldás hogy megnéyed az IEEE weboldalán a leírásokat az ő hivatalosan szabványban rögyített típusairól.''
Talán a informatika-i Ph.D. után és az 2 év egyetemi oktatás után nem biztos, hogy én szorulok rá a savegamers-re...bár biztos igazad van. :)
Hisz nem a nagyhírű Veszprémben, hanem a BME/Berkley egyetemén hallgattam és adtam az előadásokat.
''3. ATI TELJES MÉRTÉKBEN Microsoft DitectX 9.0-ra tervezte az r300as chipet MINDENHOL követve annak MINIMÁLIS igényeit, ahogyan ez a digit-life-s cikkből is kijön, szóval általában 24bit maximum. ''
Rég nem erről van szó. Amúgy ennek az ellenkezőjét senki nem állította.
''FreeM: lehetne mellőzni a reakciós politikát végre?! Ez itt a PH! fórumán nem FIDESZ VS MSZP stílus hanem aki tud valamit megosztja a kevésbé tudókkal és EMBERI, CIVILIZÁLT módon!!!''
Kösz, hogy ilyen címen szólítasz, inkább annyit mondok mint FreeM-nek először tanuljatok-olvasatok s csak utána szóljatok. -
Power
senior tag
Ilyen alapon akkor ez most is áll.
Itt ülök 2 GB RAM előtt és olyan programot futattam, aminek a minimum az 1G és azon csak vánszorog(2 hete még nekem is csak vánszorgott az 1G-val).
Ez pont nem sw előbbrejárását fejezi ki, ha a hw nyújtotta lehetőségeket nem próbálja optimálisan kihasználbi.
Szvsz nem osztom a véleményt, hogy a win3.1 tájékán a sw járt előbb.
Aktív témák
Hirdetés
- Alakul a SpaceX Starlink európai ellenfele
- sziku69: Fűzzük össze a szavakat :)
- Eurós árlista a Google Pixel 10 telefonokhoz
- BestBuy ruhás topik
- Nyaralás topik
- Milyen okostelefont vegyek?
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Elektromos autók - motorok
- Itt az igazság a Samsung állítólagos Android Auto alternatívájáról
- Luck Dragon: Asszociációs játék. :)
- További aktív témák...
- 134 - Lenovo Legion Pro 7 (16IRX8H) - Intel Core i9-13900HX, RTX 4090
- AKCIÓ! MSI B550 R7 5700X 32GB DDR4 512GB SSD RTX 3060Ti 8GB Rampage SHIVA MSI 650W
- Windows! Logitech Mx Keys Magyar!
- Bomba ár! HP EliteBook Folio 1040 G2 - i5-G5 I 8GB I 256GB SSD I 14" HD+ I Cam I W10 I Garancia!
- HP OMEN MAX 16T-AH000 - Ultra 9 275HX, 32GB, 1TB SSD, NVIDIA RTX 5090
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest