Вторник, 21.11.2017, 13:02
Приветствую Вас Гость | RSS

Лекции

Меню сайта
Форма входа
Категории раздела
ТАУ (Теория автоматического управления) [31]
лекции по ТАУ
Экология [151]
учебник
Бухгалтерский учет и налогообложение в строительстве [56]
Дементьев А.Ю. - Практическое пособие
Психология [104]
Пип
информатика [80]
с# Карли Ватсон
современные стулья [0]
новинки
Поиск
Главная » 2010 » Февраль » 11 » Логические операторы присваивания
00:00
Логические операторы присваивания
Логические операторы присваивания
Последние операторы, которые нам осталось обсудить в этом разделе,— это
комбинация рассмотренных выше операторов с оператором присваивания. Они во
многом сходны с математическими операторами присваивания, рассматривавши-
мися в предыдущей главе ( + = , *= и т.д.). Логические операторы приведены
в следующей таблице:
Оператор Тип Пример выражения Результат
Бинарный
Бинарный
Бинарный
varl &= var2;
varl 1= var2;
varl A= var2;
Переменной varl присваивается значение,
являющееся результатом выполнения
операции varl & var2
Переменной varl присваивается значение,
являющееся результатом выполнения
операции varl I var2
Переменной varl присваивается значение,
являющееся результатом выполнения
операции varl л var2
Эти операторы используются как с логическими, так и с численными значениями,
точно так же, как и операторы &, | и ".
Обратите внимание, что при выполнении операторов (£= и |=
применяются операторы & и \, а не && и \\, что приводит
к издержкам, характерным для этих более простых операторов.
Для операторов побитового сдвига также существуют соответствующие опера-
торы присваивания:
Оператор Тип Пример выражения Результат
Унарный
Унарный
varl »= var2;
varl «= var2;
Переменной varl присваивается значение, которое
получается в результате сдвига двоичного содержимого
переменной varl вправо на число битов, равное
значению переменной var2 v
Переменной varl присваивается значение, которое
получается в результате сдвига двоичного содержимого
переменной varl влево на число битов, равное
значению переменной var2
Глава 4
Практикум: использование логических операторов и операторов работы с битами
1. Создайте новое консольное приложение с именем ch04Ex0i
В директории C:\BegCSharp\Chapter4.
2. Добавьте следующий код в ciassi.cs:
static void Main (string [] args)
int myint = Convert.Tolnt32(Console«ReadLineO);
Console.WriteLine('Integer less than 10? {0}*, myint < 10);
Console.WriteLine('Integer between 0 and 5? {0}",
Console.WriteLine(«Bitwise AND of Integer and 10 = {0}", myint & 10) ;
3. Запустите приложение; в ответ на приглашение введите целое число:
Ш C:\8egCSharp
Enter an Int
6
Integer less
\Chapter4\ChG4F4 0 3
eger:
than 10? Ti4ie
Integer between 0 and 5? F<
Bitwise ftNP
iPress ant? J<e
of Integer and
у to continue
18 « 2
К I
: '
»•
Как это работает
Первые две строки кода выводят приглашение к вводу целого числа, что реали-
зуется знакомым нам методом:
Ш '№•;••;••••.
int.mylnt = Convert.Tolnt32(Console.ReadLineO );
Оператор convert.Toint32 используется для того, чтобы получить целое число
из введенной текстовой строки. Он представляет собой еще одну команду из того
Же СемеЙСТВа, К КОТОрОМу ОТНОСИТСЯ C o n v e r t . ToDouble () .
Оставшиеся три строки кода выполняют различные операции над введенным
числом и выводят их результат. Мы рассмотрим работу данного кода, исходя из
предположения, что пользователь ввел число 6, как это изображено на рисунке.
Сначала выводится результат выполнения операции myint < ю. Поскольку myint
равняется 6, т. е. меньше 10, то в результате получается значение true, которое
мы и наблюдаем в выходном потоке. При значении myint, равном или превосходя-
щем 10, результатом будет false.
Вторым будет выведено значение, которое предполагает более сложные вычис-
ления: {о <= myint) && (myint <= 5). Здесь проводятся две операции сравнения,
которые позволяют установить, является ли значение myint большим или рав-
ным 0, а также меньшим или равным 5, и логическая операция AND, выполняемая
над результатами сравнений. При значении myint, равном 6, (О <= myint) возвра-
щает значение true, a (myint <= 5) возвращает значение false. Для получения
окончательного результата вычисляется выражение (true) && (false), которое дает
значение false, что и отображается на консоли.
Управление порядком выполнения 55
1
О
6
10
Наконец, мы производим побитовую операцию AND над значением переменной
my int. В качестве второго операнда используется число 10, которое имеет двоич-
ное представление 1010. Если значение myint рав-
няется 6, что в двоичном виде выглядит как 110,
то в результате выполнения этой операции полу- &
чается двоичное число 10, или 2 в десятичном 0 0 1 0 2
представлении (см. рис. справа).
Старшинство операторов с дополнениями
Теперь, когда мы рассмотрели несколько новых операторов, возникает необхо-
димость внести в таблицу старшинства операторов, приведенную в предыдущей
главе, определенные изменения:
Старшинство Операторы
Высшее ++, -- (используемые в качестве префиксов); ( ) , + , - (унарные), !, ~
<, >, <=, >=
Низшее
I
&&
I I
= , / = ,% = , + = , - = , « = , »=, & = , Л = , | =
— (используемые в качестве суффиксов)
Нам пришлось ввести в эту таблицу несколько новых уровней, зато теперь она
точно определяет, каким образом следует вычислять выражения, например:
varl - var2 <= 4 && var2 >= 2;
в котором оператор && выполняется после операторов < = и >=.
Здесь необходимо отметить тот факт, что совершенно не возбраняется исполь-
зовать скобки с целью сделать выражения более понятными. Компилятор в любом
случае разберется, в каком порядке следует выполнять операторы, а вот нам, лю-
дям, свойственно забывать о таких вещах (а ведь может возникнуть необходимость
внести изменения в заданный порядок). Записав вышеприведенное выражение
следующим образом:
varl = (var2 <= 4) && (var2 >= 2 ) ;
мы сумеем решить эту проблему, явно указав последовательность выполнения
операций.















Категория: информатика | Просмотров: 826 | Добавил: basic | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Календарь
«  Февраль 2010  »
ПнВтСрЧтПтСбВс
1234567
891011121314
15161718192021
22232425262728
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

krutoto.ucoz.ru
Бесплатный конструктор сайтов - uCoz