Java hat zwar Operatoren zum Verschieben der Bit, aber bis Java 5 nicht zum Rotieren. Beim Rotieren werden einige Bit um eine bestimmte Stelle verschoben, doch die herausfallenden Bit kommen auf der anderen Seite wieder hinein.
Eine Funktion ist leicht geschrieben: Der Trick dabei besteht darin, die herausfallenden Bit vorher zu extrahieren und auf der anderen Seite wieder
einzusetzen.
public static int rotateLeft( int v, int n ) { return (v << n) | (v >>> (32 – n)); } public static int rotateRight( int v, int n ) { return (v >>> n) | (v << (32 – n)); }
Die Funktionen rotieren jeweils n Bit nach links oder rechts. Da der Datentyp int ist, ist die Verschiebung n in dem Wertebereich von 0 bis 31 sinnvoll.
Seit Java 5 regeln die Funktionen wie Integer.rotateLeft(…) die Rotation.