Basic Programming c# : побитови операции
Здравейте, имам въпрос по следната задача:
Напишете булев израз, който проверява дали битът на позиция p на цялото число v има стойност 1. Пример v=5, p=1 -> False.
направих го по този начин и се чудя дали е верен, особено за последния ред
Console.Write("Enter a number: ");
int v = int.Parse(Console.ReadLine());
Convert.ToByte(v);
Console.Write("Enter a position: ");
int p = int.Parse(Console.ReadLine());
Console.WriteLine(v >> p == 1 ? true : false);
или по-добре да следвам отговора на задачата в интернет:
int v = int.Parse(Console.ReadLine());
int p = int.Parse(Console.ReadLine())
int i = 1;
int mask = i << p;
int result = v & mask;
if (result != 0)
{
Console.WriteLine(true);
}
else
{
Console.WriteLine(false);
}