rotate and shift bitwise operations