Forum: Compiler & IDEs bitreihenfolge ändern


von Jens (Gast)


Lesenswert?

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

von Rahul (Gast)


Lesenswert?

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)

von Dirk (Gast)


Lesenswert?

Hi,

bezieht sich jetzt nur auf dein Beispiel:

byte = 11001100
byte ^= byte

Ergibt 00110011

Schau dir mal die Operatoren an.

Gruß,

Dirk

von Stefan Kleinwort (Gast)


Lesenswert?


von Georg-Johann Lay (Gast)


Lesenswert?

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

von Christoph _. (chris)


Lesenswert?

> 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

von Wegstaben V. (wegstabenverbuchsler)


Lesenswert?

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
Noch kein Account? Hier anmelden.