Hallo zusammen
Ich habe mal eine eigentlich ganz Simple Frage:
Gibt es in C ein LOGISCHES Rechtsschieben?
Grund ist folgender: Ich habe einen negativen Integer denn ich gerne um
16bit nach rechts schieben würde, jedoch ohne das Vorzeichen zu
beachten. Das ist ja nichts anderes als ein Logisches rechts schieben
statt einem arithmetischen schieben wie man es bsw. durch
machen würde und bei dem bei einer negativen Zahl einsen nachgeschoben
werden.
In Java ging das mit >>>>, aber in C kenne ich da nichts. Oder bleibt
mir da nichts anders übrig als entweder
1 | test |= (iData >> 16) & 0xFFFF;
|
zu verwenden, oder diesen Schnippsel in Assembler zu schreiben (wenn der
Controller Logisches rechtsschieben unterstützt)?