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