C rejtelmek / bitmezo teszt

Moczik Gabor pm at progzmaster.hu
Thu Mar 1 15:28:19 CET 2007


Fuzesi Arnold wrote:
> union-nal fapados a dolog, mert ahogy bővül a mező kézzel kell a uniont is
> hozzáállítgatni.
> Illetve sizeof-al lehetne bűvészkedni, de ha már pl. 80 bites a bitmezőm
> összesen, akkor nem lesz hozzá elég széles egész változó amit egyben tudnék
> vizsgálni hogy az nulla-e.
> 
> Hogyan elegáns?
> Simán egy pointerrel végigszaladni sizeof(bitmező)-ig?

Nem mondtad, mire es hogyan kell hasznalnod, ettol nagymertekben fugg, hogy 
mi a hatekony megoldas.

Hogy kezzel kell ezt-azt hozzaigazitani, azt nehez lesz elkerulni, ha 
forditasi idoben akarod allokalni a teruletet.

Ha elszorva itt-ott vannak a bitek beallitva, es ezt valahol egy az egyben 
le kell ellenorizni, akkor szerintem ugy a leggyorsabb, ha folytonos 
teruleten allokalod a biteket, es ezt a proci altal egyben kezelheto 
darbokban olvasod ki.
A teruletet meretre kell igazitani, tehat ha mondjuk 90 bited van, es 16 
bites a proci, akkor 96 bitet kell foglalni. A maradek 4 bit senkit nem 
zavar, inicializalasnal 0-ra allitod.

(nemelyik fordito alapbol tudja a padding-et, tobbnyire #pragma-val 
engedelyezheto/tilthato).

Ha tobb helyen kell vizsgalni, akkor tedd fuggvenybe vagy macro-ba a 
vizsgalo ciklust.

A nulla/nem-nulla eldontese altalaban 1 gepi utasitara fog leforditodni, 
szoval meg gyors is lesz.
Ha agyon kell optimalizalni, akkor olyan ciklust kell irni, ami nem AND-olja 
a byte-okat, hanem az elso nem-nulla utan ki is ugrik.

-- 
((( Móczik Gábor  )))--((( pm -> @ -> progzmaster -> . -> hu  )))
((( Skype: moczik )))--((( Website: http://www.progzmaster.hu )))



More information about the Elektro mailing list