Szazalekos eloszlas
Moczik Gabor
progzmaster at freemail.hu
Sun Sep 4 14:53:29 CEST 2005
Balazs E wrote:
> azaz mondjuk mindegyik 1 byte
>
> ha barmelyik tulcsordulna akkor mindet lepteted egyel (osztod 2-vel)
Nem jo, mert folyamatosan mozgo ertekeket fogok kapni, akkor is, ha
allandoan ugyanaz jon be.
> a szazalakera konvertalas meg raer kiirataskor
Nem er ra, mert nem kiirni kell, hanem szamolgatni kell vele.
Nem voltam eleg pontos. Nem az a lenyeg hogy szazalekban legyen (0..100),
hanem hogy egy olyan tombot kapjak, ami tukrozi az aranyokat. Pl. fontos,
hogy ha egyenlo aranyban jon mondjuk 7 meg 8, mas meg egy sem, akkor a 7-es
es a 8-as tombelem (kozel) egyforma erteketet vegyen fel, a tobbi meg
(kozel) 0-t.
Ameddig most jutottam, hogy legyen 64 a felso szint. Inicializalom a tomb
minden elemet 4-re, azaz ha egyet is be kell irni, akkor tutira tullepem a
64-et. Ezzel kimaradhat a tulcsordulas vizsgalat.
Azzal hogy 64, a szorzas balra shiftelhetek. Most 64 helyett 65 elemunk van,
tehat fix 65-tel kell osztani.
noise_level[nindex]++;
for (ni=0; ni<=15; ni++) {
noise_level[ni]=(noise_level[ni]<<6)/65;
}
De ez meg mindig lassu, es egesz szamokkal szarul mukodik, mert vegul is
64/65-el kell szorozni, es a kerekites miatt nem valtozik semmi.
Kozben azon agyalok, hogy ha egyet hozzaadok, akkor a tobbi kozul
_valamelyiket_ egyel csokkenteni kell. De melyiket?
3. elkepzeles:
Nem egyet adok hozza, hanem 15-ot. A masik 15-ot egyel csokkenteni kell.
Es amelyik 0?
4. elkepzeles:
Megszamolom, hogy hany nem-0 elem van az aktualison kivul. Ennyit adok az
aktualishoz. A tobbi nem-0 elemet meg 1-el csokkentem. Mar probalom is :-)
--
((( Móczik Gábor )))--((( progzmaster -> @ -> freemail . hu )))
((( Skype: moczik )))--((( Website: http://www.progzmaster.hu )))
More information about the Elektro
mailing list