¿Hay alguna manera de realizar un desplazamiento circular de bits en C #?

Sé que lo siguiente es cierto

int i = 17; //binary 10001
int j = i << 1; //decimal 34, binary 100010

Pero, si te desplazas demasiado, los bits se caen al final. Donde esto sucede es una cuestión del tamaño del número entero con el que está trabajando.

¿Hay alguna manera de realizar un cambio para que las brocas giren hacia el otro lado? Estoy buscando una sola operación, no un bucle for.

Respuestas a la pregunta(5)

Su respuesta a la pregunta