[elektro] C-ben bit struktura kérdés
Moczik Gabor
pm_levlista at progzmaster.hu
Thu Jun 12 10:20:47 CEST 2008
hg12345 wrote:
> A bit strukturák és a hozza tartozó define-k összekapcsolására van
> szabványos megoldás. (nem találtam :-)
>
> pl.:
>
> union {
> unsigned int A;
> struct {
> bit0:1;
> bit1:1;
> bit2:1;
> }
> } WORD;
>
> #define WORDbit0 0
> #define WORDbit1 1
>
> vagy
> enum eWORD{WORDbit0=0,WORDbit1,WORDbit2};
>
> WORD.A ^= 3<<WORDbit1;
>
> A fenti megoldásra szeretnék egy olyat a bitstrukturából tudja kinyerni
> a bit poziciót.
>
> (((Akár a forditott megoldás is jó, hogy a #define-ból előállítja a
> bitstrukturát, mondjuk ez kevésbó jó, mert sokkal macerásabb és
> érthetetlenebb, föleg ha minden bitnek eltérő neve van)))
Nem teljesen ertem a feladatot. Miert kell ket kulonbozo elnevezest hasznalni?
WORD.A ^= 3<<WORDbit1;
Helyett miert nem jo a WORD.bit2^=1 ?
(meg egyebkent nem WORDbit2-t akartal irni?)
> Tudom létezik olyan C ami ismeri a bit szintű pointer, de erre nem
> vágyom. Amit eltudnék képzelni forditási idöben is létező sizeof()
> függvény ?
Tudomasom szerint mukodik forditasi idoben a sizeof() minden olyan dologra
aminek ismert a merete forditasi idoben.
--
((( Móczik Gábor )))--((( E~mail: "pm-01" @AT "progzmaster" .DOT "hu" )))
((( Skype: moczik )))
More information about the Elektro
mailing list