[elektro] PIC C32 shift right
flaist
flaist at gmail.com
Thu Jan 17 00:08:22 CET 2013
Sziasztok!
Tegnap C32 fejlesztéskor szívtam az alábbival.
char x;
x=0xf0;
x >>= 1;
és az eredmény 0xf8,
0x78 helyett.
unsigned char x;
definícióval jó lett.
Aztán hosszas nyomozás után megtaláltam a lenti megjegyzést..
Eddig C18 használtam ott nem hozta be az előjel bitet, még bosszankodtam is
anno miatta.
Melyik az elterjedtebb verzió?
Mennyire jó ötlet így variálni az alap műveleteket (pláne azonos IDE-ben) ?
Implementation: Bitwise operations on signed values act on the 2's
complement
representation, including the sign bit. The result of a signed right
shift expression is sign extended.
C99 allows some aspects of signed '<<' to be undefined. The
compiler does not do so.
Üdv. István.
More information about the Elektro
mailing list