Warum eigentlich so kompliziert? Okay, vielleicht habe ich nicht ganz verstanden, was der TO will, aber hier mal Code, der ohne Schleifen auskommt:
[code=Java] // Diese Variante brauchst du:
public static int rotByteRight(final int value, final int pos){
return (value >> 1 & 0xFF << pos) | (value & 0x01 << pos) << 7
| (value & ~(0xFF << pos));
}
// der Vollständigkeit halber:
public static int rotByteLeft(final int value, final int pos){
return (value << 1 & 0xFF << pos) | (value & 0x80 << pos) >> 7
| (value & ~(0xFF << pos));
}
[/code]
Theoretisch würde es reichen, diese Methoden static zu machen. (Non-static ist nur dann notwendig, wenn du auch mindestens ein Objekt der Klasse für die Operationen benötigst. Da du aber nur mit int/byte rummachst, und nicht mit BitOps1-Objekten, kann man diese Methoden static machen.) Aber das hängt natürlich davon ab, was für Methoden da noch reinkommen bzw. wo und wie das benutzt werden soll.
Ark