Есть ли способ выполнить круговой битовый сдвиг в C #?
Я знаю, что следующее верно
int i = 17; //binary 10001
int j = i << 1; //decimal 34, binary 100010
Но если вы сдвинетесь слишком далеко, биты падают с конца. То, где это происходит, зависит от размера целого числа, с которым вы работаете.
Есть ли способ выполнить сдвиг так, чтобы биты вращались вокруг на другую сторону? Я ищу одну операцию, а не цикл.