Ich konnte jedoch nicht herausfinden, wie ich zirkuläre Verschiebungs- oder Rotationsoperationen durchführen kann.
Wie können Operationen wie „Nach links drehen“ und „Nach rechts drehen“ ausgeführt werden?
Hier zweimal nach rechts drehen
Code: Select all
Initial --> 1000 0011 0100 0010
Code: Select all
Final --> 1010 0000 1101 0000
(Anmerkung des Herausgebers: Viele gängige Arten, Drehungen in C auszudrücken, leiden darunter undefiniertes Verhalten, wenn die Rotationsanzahl Null ist oder in mehr als nur eine einzelne Rotationsmaschinenanweisung kompiliert wird. Die Antwort auf diese Frage sollte Best Practices dokumentieren.)