Don P: Bit Operationen

Beitrag lesen

Hallo,

So wie ich es verstanden habe, müssten alle Bits um 2 Stellen nach rechts geschoben werden. Dann ist es ja eigentlich unmöglich, dass plötzlich Einsen auf der linken Seite erscheinen.

Kann mich da mal jemand aufklären?

Mit der Binärdarstellung ist es nicht ganz so einfach. Die Verschiebung um 1 Stelle nach rechts entspricht einer Division durch 2, bei 2 Stellen einer Division durch 4. Wenn deine 32-Bit-Zahl ganz links eine 1 hat, hat diese 1 eine Sonderbedeutung, meines Wissens ist das das Vorzeichen-Flag und der Rest ist invertiert oder so ähnlich. Die Zahl ist also vermutlich negativ. Wenn man eine negative Zahl durch 4 dividiert, ist das Ergebnis wieder negativ, daher werden Einsen von links nachgeschoben.

Sorry, das Ist jetzt alles nur Halbwissen von mir, wie es sich genau verhält, musst du irgendwo nachschlagen. Bin mir aber ziemlich sicher, dass da der Hase im Pfeffer liegt.

Gruß, Don P