Циклический сдвиг - 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));