[elektro] PIC C32 shift right
Info
info at kiralyelektronika.hu
Thu Jan 17 00:41:01 CET 2013
Szia!
> Tegnap C32 fejlesztéskor szívtam az alábbival.
> 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) ?
Nos, látom nem ismered az assembly nyelvet, többnyire 3 léptető
utasítás van, ezeket variálhatod:
- logikai (belépő bit 0)
- aritmetikai (belépő bit nem lesz, marad ami volt)
- "carry"-n keresztül (belépő bit carry flagból)
a kilépő bitek többnyire a carryba mennek, de ez sem általános, most
mindegy is.
Szóval amit leírtál jelenséget teljesen természetes, hiszen a char
előjeles (ha csak a fordítási opciókban mást nem adsz meg).
Ezért aritmetikai léptetést használt.
Az unsigned char-nál pedig felismerte, hogy simán tologatni akarsz
ezért logikai léptető utasítást fordított a kódba.
A harmadik nem szokott elérhető lenni C-ből, az a fordító belső
magánügye. Szal a fordítód jól működik.
More information about the Elektro
mailing list