Gast
#1803703
Hallo Ich hab ein komisches Problem an dem ich schon seit heute Vormittag sitze und einfach nicht die Lösung finde. Ich schreibe eine Bibliothek für ein LCD mit mehreren Grafikfunktionen. Nun hab ich ein Problem mit einer Bitshifting Operation, wo ich einfach nicht den Fehler finde. Folgender Code (auszugsweise): uint8_t pattern = 0x66; // 0b 0110 0110 pattern >>=2 ; // um 2 Bit nach rechts schieben Nun würde ich mir das folgende Ergebnis erwarten: 1001 1001 Ich erhalte jedoch 0001 1001 Es sieht so aus als würde die Operation die 2 Bit nur rechts hinausschieben jedoch nicht links wieder einfügen, wie das bei der Assember Funktion rol bzw ror ist. Wie kann ich den GCC dennoch davon überzeugen so ein bitweises Shiften durchzuführen? MfG Gregor