Gast
#237110
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
|
Anzeige
|
bitreihenfolge ändern
Gast
#237110
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
Gast
#237111
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)
Gast
#237112
Hi, bezieht sich jetzt nur auf dein Beispiel: byte = 11001100 byte ^= byte Ergibt 00110011 Schau dir mal die Operatoren an. Gruß, Dirk
Gast
#237113
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
Gast
#237114
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 Antwort schreiben |
Anzeige
|