Поразрядные операторы - C# (203906)
Формулировка задачи:
Добрый день! Помогите пожалуйста с такой проблемкой...
Хочу изучить С# ,разбираю Шилдта и никак не могу понять 1н пример :
Результат выполнения : 0 1 1 1 1 0 1 1
Cажите пожалуйста, что он делает?
Сравнивает двоичные 123 и 128? или как?) но у меня не получилось прийти на бумаге к такому же результату...
Возможно кто подскажет что почитать на эту тему)
Заранее спасибо.
static void Main() { int t; byte val; val = 123; for (t = 128; t > 0; t = t / 2) { t = 128; if ((val & t) != 0) MessageBox.Show("1 "); if ((val & t) == 0) MessageBox.Show("0 "); } }
Решение задачи: «Поразрядные операторы»
textual
Листинг программы
using System; namespace ConsoleApplication65 { class Program { [Flags] enum Test { First = 1, Second = 2, Third = 4 } static void Main() { const Test value = Test.First | Test.Third; //Выбираем первый и третий параметр отмеченными Console.WriteLine(IsSelected(value, Test.First) ? "First selected" : "First not selected"); Console.WriteLine(IsSelected(value, Test.Second) ? "Second selected" : "Second not selected"); Console.WriteLine(IsSelected(value, Test.Third) ? "Third selected" : "Third not selected"); Console.ReadKey(); } private static bool IsSelected(Test value, Test expected) //Проверяем, стоит ли нужный бит в единицу { return (value & expected) != 0; } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д