[elektro] PIC C32 shift right
Vajk Fekete
vajkhu at gmail.com
Thu Jan 17 10:15:05 CET 2013
a mondat a vegen annyit akar szerintem jelenteni, hogy a szabvany nem donti
el a kerdest, barmit megenged, de a fordito nem tud barmit csinalni meg nem
donteni, a fordito muszaly valahogy konkretan mukodjon. es ok ezt
valasztottak. persze valaszthattak volna azt is, hogy dob egy warningot,
plane hogy a feature nem kifejezetten hordozhato, pont a szabvany
egyertelmutlensege miatt.
Vajk
2013/1/17 flaist <flaist at gmail.com>
> 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.
>
> -----------------------------------------
> elektro[-flame|-etc]
>
More information about the Elektro
mailing list