OT Ceckarsky kviz
Miroslav Šinko
sinkomiro@gmail.com
Čtvrtek Březen 5 13:10:47 CET 2009
No ja to skusim, ale z pohladu bitoveho OR maju vyrazy vlavo a vpravo
roznaku vahu napriek zatvorke, t.j. mali by sa vyhodnocovat zlava.
miro
2009/3/5 Pavel Troller <patrol@sinus.cz>:
> Zdravim,
> nu, ja si nejsem zcela jist, zda to tak je zcela dobre :-). Protoze
> parser aritmetiky napred vyhodnoti vyraz v zavorce, takze zavola
> GetByte(), ktere precte LSB, a dalsi GetByte() se zavola az potom a
> to precte MSB. Tim padem budou bajty v cisle prohozeny...
> Pro ucely citelnosti a jistoty provedeni bych radeji volil trosku
> komplikovanejsi zapis
>
> uint8_t lo, hi;
> uint16_t a;
> ...
> lo = GetByte(); hi = GetByte();
> a = hi << 8 | lo;
>
> S pozdravem Pavel Troller
>
>
>> Vyraz sa vyhodnocuje zlava, t.j. z tohto pohladu ano. Ja by som pre
>> istotu este pouzil zatvorky
>> uint16_t a = GetByte() | (GetByte() << 8);
>>
>> Zatvorky pouzivam radsej viac, ako menej aj tam, kde to poradie
>> vyhodnocovania operatorov nevyzaduje. Profesionalna cest/necest,
>> istota je istota a je to aj pre mna prehladnejsie.
>>
>> miro
>>
>> Dňa 5. marec 2009 12:21, Jan Waclawek <konfera@efton.sk> napísal/a:
>> > Mam nejaku funkciu, nazvime ju GetByte(), ktora mi vrati byte (uint8_t), napriklad z nejakej komunikacnej linky, alebo z nejakeho kruhoveho bufferu. Na tej linke alebo v tom bufferi je ulozene 16-bitove cislo, LSB first, a ja ho citam takto:
>> >
>> > uint16_t a = GetByte() | GetByte() << 8;
>> >
>> > Je to takto dobre?
>> >
>> > wek
>> >
>> >
>> > _______________________________________________
>> > HW-list mailing list - sponsored by www.HW.cz
>> > Hw-list@list.hw.cz
>> > http://list.hw.cz/mailman/listinfo/hw-list
>> >
>> _______________________________________________
>> HW-list mailing list - sponsored by www.HW.cz
>> Hw-list@list.hw.cz
>> http://list.hw.cz/mailman/listinfo/hw-list
> _______________________________________________
> HW-list mailing list - sponsored by www.HW.cz
> Hw-list@list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
>
Další informace o konferenci Hw-list