Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Условные логические операции

Поразрядные логические операции

ЗАМЕЧАНИЕ

Операции отношения и проверки на равенство

Операции отношения (<, <=, >, >=, ==,!=) сравнивают первый операнд со вторым. Операнды должны быть арифметического типа. Результат операции — логического типа, равен true или false. Правила вычисления результатов приведены в табл. 3.7.

Таблица 3.7. Результаты операций отношения

 

Операция Результат
х==у true, если х равно у, иначе false
х!=у true, если х не равно у, иначе false
х<у true, если х меньше у, иначе false
х>у true, если х больше у, иначе false
х<=у true, если х меньше или равно у, иначе fal se
х>=у true, если х больше или равно у, иначе false

Обратите внимание на то, что операции сравнения на равенство и неравенство име­ют меньший приоритет, чем остальные операции сравнения.

Очень интересно формируется результат операций отношения для особых случаев вещественных значений. Например, если один из операндов равен NaN, результатом для всех операций, кроме !=, будет false (для операции != результат равен true). Очевиден факт, что для любых операндов результат операции х! = у всегда равен результату операции !(х == у), однако если один или оба операнда равны NaN, для операций <, >, <= и >= этот факт не подтверждается. Например, если x или у равны NaN, то х < у даст false, а! (х >= у) — true.

Другие особые случаи рассматриваются следующим образом:

1. значения +0 и -0 равны;

2. значение -∞ меньше любого конечного значения и равно другому значению -∞;

3. значение + больше любого конечного значения и равно другому значению + .

Поразрядные логические операции (&, |, ^) применяются к целочисленным опе­рандам и работают с их двоичными представлениями. При выполнении опера­ций операнды сопоставляются побитно (первый бит первого операнда с первым битом второго, второй бит первого операнда со вторым битом второго и т. д.). Стандартные операции определены для типов int, uint, long и ulong.

При поразрядной конъюнкции, или поразрядном И (операция обозначается &), бит ре­зультата равен 1 только тогда, когда соответствующие биты обоих операндов равны 1.

При поразрядной дизъюнкции, или поразрядном ИЛИ (операция обозначается |), бит результата равен 1 тогда, когда соответствующий бит хотя бы одного из опе­рандов равен 1.

При поразрядном исключающем ИЛИ (операция обозначается ^) бит результата ра­вен 1 только тогда, когда соответствующий бит только одного из операндов равен 1.

Условные логические операции И (&&) и ИЛИ (||) чаще всего используются с опе­рандами логического типа. Результатом логической операции является true или false. Операции вычисляются по сокращенной схеме.

Результат операции логическое И имеет значение true, только если оба операнда имеют значение true.

Результат операции логическое ИЛИ имеет значение true, если хотя бы один из операндов имеет значение true.

ВНИМАНИЕ

Если значения первого операнда достаточно, чтобы определить результат опера­ции, второй операнд не вычисляется. Например, если первый операнд операции И равен false, результатом операции будет false независимо от значения второго операнда, поэтому он не вычисляется.

Пример применения условных логических операций представлен в листинге 3.7.

<== предыдущая лекция | следующая лекция ==>
Операции сдвига | ЗАМЕЧАНИЕ. Операции присваивания
Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 359; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.