Рзультат побитовых логических операций - C#
Формулировка задачи:
Собственно задача: Напишите программу, вычисляющую результат побитовых логических операций AND и OR над двумя числами(ввод чисел в десятичном виде, вывод результатов в двоичном).
При вводе некоторых чисел программа выдает некорректные результаты. Что нужно поменять, чтобы в ответе выводился нормальный двоичный код?
class Program
{
static long Perevod(long x)
{
return x < 2 ? x % 2 : (x % 2) + 10 * Perevod(x / 2);
}
static void Main(string[] args)
{
Console.WriteLine("Введите X ");
long x = int.Parse(Console.ReadLine());
Console.WriteLine("Введите Y ");
long y = int.Parse(Console.ReadLine());
long X = Perevod(x);
long Y = Perevod(y);
if (x >= 0)
{
Console.WriteLine("X = " + X);
Console.WriteLine("Y = " + Y);
long AND = X & Y;
long OR = X | Y;
Console.WriteLine("И: " + AND);
Console.WriteLine("ИЛИ: " + OR);
}
else
{
Console.WriteLine("данные не корректны");
}
Console.ReadKey();
}
}
}Решение задачи: «Рзультат побитовых логических операций»
textual
Листинг программы
Console.WriteLine("Введите X ");
long x = int.Parse(Console.ReadLine());
Console.WriteLine("Введите Y ");
long y = int.Parse(Console.ReadLine());
Console.WriteLine("X = " + Convert.ToString(x, 2));
Console.WriteLine("Y = " + Convert.ToString(y, 2));
long AND = x & y;
long OR = x | y;
Console.WriteLine("И: " + Convert.ToString(AND, 2));
Console.WriteLine("ИЛИ: " + Convert.ToString(OR, 2));