Hi ! Ich habe folgendes Problem : Ich möchte ein char in zwei nibbles zerlegen und habe dazu folgenden code : char zeichen = 'T'; char zeichen_a = zeichen & 0xF0; // obere 4 bits char zeichen_b = zeichen & 0xF; // untere 4 bits nun habe ich in zeichen_a binär : 01010000 zeichen_b binär : 00000100 bei zeichen_a muss ich ja nun die beiden nibbles vertauschen oder irgendwie rotieren so, nun wie mache ich das ?? hab schon gegoogelt aber nix hilfreiches gefunden... Hoffe hier kann mir einer helfen ;-) Mfg Frank
Am Montag, 29. März 2004 20:34 schrieb Frank:
zeichen_a binär : 01010000 zeichen_b binär : 00000100
bei zeichen_a muss ich ja nun die beiden nibbles vertauschen oder irgendwie rotieren
Suchtst du nicht eher nach einer Shift-Operation? "zeichen_a = zeichen_a >> 4" => "zeichen_a binaer: 00000101"
Matthias Guede schrieb:
Am Montag, 29. März 2004 20:34 schrieb Frank:
zeichen_a binär : 01010000 zeichen_b binär : 00000100
bei zeichen_a muss ich ja nun die beiden nibbles vertauschen oder irgendwie rotieren
Suchtst du nicht eher nach einer Shift-Operation?
"zeichen_a = zeichen_a >> 4" => "zeichen_a binaer: 00000101"
Ja, das wars ... danke nochmal und sorry dass ich eure zeit verschwendet habe -_- Mfg Frank
Am Montag, 29. März 2004 20:34 schrieb Frank:
Hi !
Ich habe folgendes Problem : Ich möchte ein char in zwei nibbles zerlegen und habe dazu folgenden code :
char zeichen = 'T'; char zeichen_a = zeichen & 0xF0; // obere 4 bits char zeichen_b = zeichen & 0xF; // untere 4 bits
nun habe ich in zeichen_a binär : 01010000 zeichen_b binär : 00000100
bei zeichen_a muss ich ja nun die beiden nibbles vertauschen oder irgendwie rotieren
Was soll in zeichen_a zum Schluss stehen? 00000101? Dann mach es Dir einfach und schreib gleich ein: char zeichen_a = (zeichen & 0xF0) >> 4; // obere 4 bits
so, nun wie mache ich das ?? hab schon gegoogelt aber nix hilfreiches gefunden...
Schau Dir dazu auch mal http://cvs.sourceforge.net/viewcvs.py/*checkout*/xine/xine-lib/src/xine-engine/bswap.h?content-type=text%2Fplain&rev=1.10 an, da gehts zwas um Bytes-drehen wegen Endian Problemen, aber das Prinzip ist das selbe. -- Machs gut | http://www.iivs.de/schwinde/buerger/tremmel/ | http://packman.links2linux.de/ Manfred | http://www.knightsoft-net.de
participants (3)
-
Frank
-
Manfred Tremmel
-
Matthias Guede