Hallo. Wie kann ich die Bit Reihenfolge einer Variable 8 bit verändern ? Also: 11001100 zu 00110011 geht das irgendwie einfacher als die einzelnen bits auszulesen und zu schreiben ? Gruß Jens
Variable in Hilfsvariable zwischenspeichern, Variable vier mal in die eine Richtung verschieben, Hilfsvariable vier mal in die andere Richtung verschieben, beides verunden (oder so ähnlich)
Hi, bezieht sich jetzt nur auf dein Beispiel: byte = 11001100 byte ^= byte Ergibt 00110011 Schau dir mal die Operatoren an. Gruß, Dirk
Lies Dir mal diese Beiträge durch: http://www.mikrocontroller.net/forum/read-2-57577.html http://www.mikrocontroller.net/forum/read-2-112800.html#112830 Stefan
Also mit ^ ist in C immer exclusive-oder gemeint. Nach a ^= a; // a = a ^ a steht also immer 0 in a. 2er Komplement bekommt man mit b = ~a; // bitweise Komplement
> 2er Komplement bekommt man mit > b = ~a; // bitweise Komplement Das ist das 1er-Komplement. Das 2er-Komplement bekommt man noch einfacher: b = -a; // 2er-Komplement
Möchte Jens möglicherwiese gar nicht komplementieren, sondern (so wie im Betreff genannt) die Reihenfolge der Bits umdrehen, und hat nur sein Beispiel etwas unglücklich gewählt? aus 2^7 2^6 2^5 2^4 2^3 2^2 2^1 2^0 dann also 2^0 2^1 2^2 2^3 2^4 2^5 2^6 2^7
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.