Bitspiegeln
-
Hi,
mal wieder eine Frage von mir.
Wie spiegel ich eine 16 Bit Zahl bit für bit, soll heissen:
bit 0 wird bit 15 , bit 1 wird bit 14 usw.
Dabei soll keine zusatz Variable benutzt werden und nur bit operatoren und keine Bibliotheksfunktionen.
Schleifen ,If,switch usw sind auch verboten.
Meine Idee war es aus dem 16 Bit Wort ein 32 Bit zu machen dann die Bits in den höheren Teil eintragen um dann die hohen bits mit ein shift nach unten zu schieben.bsp.:
bit(0) = 1 copieren nach bit(31)
bit(1) = 0 copieren nach bit(30)
usw. bis zum bit (14)
danach shift << 16Wer kann mir da helfen ?
-
Nur mit Bitoperationen?
Ich mach's mal für eine vier Bitvariable:a = ((a >> 3) & 1)
| ((a >> 1) & 2)
| ((a << 1) & 4)
| ((a << 3) & 8);[ Dieser Beitrag wurde am 24.11.2002 um 04:09 Uhr von Bitsy editiert. ]