ersten 16 Bits auf 0 setzen
-
Gude,
Habe eine Long-Variable, die in 3 Teile "aufgeteilt" ist.
1. Teil: 0-15. Bit
2. Teil: 16-29. Bit
3. Teil: 20-31. BitJetzt würde ich mir gerne den 2. Teil rauslesen.
Kann man das ohne 2 Bitshifting nutzen zu müssen,machen?
Also der einfachste Weg wär ja einfach den Wert 16 Bit
nach links zu schieben und dann "ganz nach rechts" zu schieben.Aber mich würde interessieren, ob es eine intelligentere Lösung
gibt.gruss,
Stefan
-
Du kannst die unerwünschten unteren Bits mit einem Rechtshift rausschieben und dann mit einer Bitweise-Und-Vernküpfung (&) alle Bits bis auf die gewünschten rausmaskieren.
-
Du kannst ein Bitweises & machen; etwa so:
Variable &= 0x00FF00;
-
unsigned long myLong = ...; unsigned long teil2 = (myLong & 0x3FFF0000) >> 16PS:
ned getestet
-
thx, das ging rasch.

gruss