Циклический сдвиг - C# (181169)

Узнай цену своей работы

Формулировка задачи:

На вход задаётся число n, его нужно перевести в двоичную систему, к полученному числу применить циклический сдвиг на 2 позиции вправо. Например, вводим 48, после перевода получаем число 00110000, после смещения получаем 00001100 и выводим его. Делал так, но выводит ошибку.
int n = int.Parse(Console.ReadLine());
            string s = Convert.ToString(n, 2);
            for (int i = 0; i < s.Length; i++)
            {
                if (s[i] == '1')
                {
                    s[i] = s[i + 2];
                }
            }
            Console.WriteLine(s);
Хелп

Решение задачи: «Циклический сдвиг»

textual
Листинг программы
    int n = int.Parse(Console.ReadLine());
    n = n >> 2;
    Console.WriteLine(Convert.ToString(n, 2));

Оцени полезность:

13   голосов , оценка 4 из 5
Похожие ответы