[elektro] c kerdes
Fuzesi Arnold
arnold.fuzesi.lista at gmail.com
Sat Dec 6 21:47:37 CET 2008
Jogos.... inkabb igy... persze igy sem franko....
>> typedef struct{
>> union{
>> struct{
>> uchar bit[8]: 1;
>> }a;
>> uchar A;
>> }alarm[2];
>> }sys_stat;
Közben rájöttem h >>-el jobban jarok... :)
Ettol fuggetlenul ha vki tudja ne titkolja... erthetobb lenne a kod
(szamomra :)).
kösz,
A.
----- Original Message -----
From: "Balázs Bámer" <bamerbalazs at gmail.com>
To: <elektro at tesla.hu>
Sent: Saturday, December 06, 2008 9:42 PM
Subject: Re: [elektro] c kerdes
>> Hogy tudnam ezt megvalósítani C-ül?
>>
>> typedef struct{
>> union{
>> struct{
>> uchar bit: 1;
>> }a[8];
>> uchar A;
>> }alarm[2];
>> }sys_stat;
>>
>> for(loop0=ID_IN0;loop0<ID_IN3+1;loop0++){
>> if(cfg.in[loop0].changed_state) sys_stat.alarm[0].a.bit[0]=1;
>> }
>>
>> ami gond, a bit nevű bitmezőt szeretném tömbösíteni, címezni...
>
> Tippre sehogy. A ciklus helyesen így szólna:
> for(loop0=ID_IN0;loop0<ID_IN3+1;loop0++){
> if(cfg.in[loop0].changed_state) sys_stat.alarm[0].a[0].bit=1;
> }
> viszont a
> struct{
> uchar bit: 1;
> }a[8];
> nem egy bájtban vagy szóban csinál 8 bitet (ha ez volt a szándék),
> hanem lefoglal nyolc bájtot vagy szavat (vsz implementációfüggő), és
> mindben lesz egy bit nevű bit.
> Biteket logikai műveletekkel és << operátorral lehet címezni.
>
> szia: Balázs
> -----------------------------------------
> elektro[-flame|-etc]
More information about the Elektro
mailing list