Forum: Compiler & IDEs kleine Bitschiebe Frage...


von Dirk (Gast)


Lesenswert?

also wenn in ich in einem register alle bits um eins oder vielleicht 
auch 2 oder mehr nach recht oder links schiebe, fallen hinten auch die 
bits dementsprechend rauss..aber wie kann ich die abfangen? in assembler 
geht das über das carry flag aber wie in c?

von Peter D. (peda)


Lesenswert?

In C testet man das Bit einfach vor dem Schieben:

unsigned char i;
if( i & 0x80 ){
  ; // mache was
}
i <<= 1; // schieben


Und wenn Du im Kreis schieben willst:

i = 2 * i + (i & 0x80 ? 1 : 0);


Peter

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.