Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Попередні відомості



1. Операції порівняння – бінарні, причому обидва операнди повинні бути чисельними, а результат матиме цілий тип в логічній трактовці (“Так” – ненульове значення 1, “Ні” – 0):

вираз < вираз

вираз > вираз

вираз <= вираз

вираз >= вираз

Результатом всіх цих операцій є 0, якщо задане відношення хибне, і 1, якщо істинне. Тип результату int.

Операції рівності і нерівності відносять до цієї ж групи. Важливо правильно витримувати синтаксис знаку «логічне дорівнює» і розуміти, що ця операція не виконує присвоювання:

вираз == вираз

вираз!= вираз

Результатом всіх цих операцій є 0, якщо задане відношення хибне, і 1, якщо істинне. Тип результату int. Ці операції мають нижчий пріоритет, ніж операції попередньої групи, наприклад, у виразі a < b = = c < d спочатку здійснюються порівняння a < b та c < d, результати кожного з них мають значення 0 або 1, після чого операція = = дає результат 0 або 1.

Наступну групу складають логічні операції, для яких характерне те, що і операнди, і результат мають цілий тип і трактуються як логічні (“Так” – 1, “Ні” – 0).

3. Операція логічне І виконується згідно таблиці істинності:

X Y X&&Y
     
     
     
     

вираз && вираз

Ця операція повертає 1, якщо обидва операнди ненульові, та 0 в противному випадку. Операція гарантує обчислення зліва направо, а якщо лівий операнд є 0, правий не обчислюється. Операнди не повинні бути обов'язково однакового типу, але повинні мати один з основних типів. Результат завжди типу int.

4. Опреація логічне АБО виконується згідно таблиці істинності:

X Y X||Y
     
     
     
     

вираз || вираз

Ця операція повертає 1, якщо хоча би один з операндів ненульовий, і 0 в противному випадку. Операція гарантує обчислення зліва направо, а якщо перший операнд не є 0, другий операнд не обчислюється. Тип int.

5. Умовна операція є тернарною (з трьома операндами):

вираз? вираз: вираз

Обчислюється значення першого виразу, і, якщо воно не є 0, то результатом буде значення другого виразу, в противному випадку - значення третього виразу. Якщо це можливо, виконуються звичайні арифметичні перетворення для приведення другого та третього виразів до загального типу. Обчислюється тільки один з виразів: другий або третій.

Коли виникає необхідність роботи з величинами, що записані побітово, в частинах машинного слова, застосовуються «побітові операції». До таких відносяться:

1. Операції зсуву:

вираз << вираз

вираз >> вираз

Правий операнд перетворюється до типу int. Тип результату співпадає з типом лівого операнду. Результат не визначений, якщо правий операнд від'ємний або більший, або дорівнює довжині об'єкту в бітах.

Значенням E1 << E2 є E1 (яке розглядається як бітове представлення), зсунуте вліво на E2 біт; звільнене місце заповнюється нулями.

Значенням E1 >> E2 є E1, зсунуте вправо на E2 бітових позицій. Гарантується, що зсув вправо буде логічним (заповнення нулями), якщо E1 має тип unsigned, впротивному випадку він може бути арифметичним (заповнення копією знакового біту).

2. Доповнення (побітове НЕ):

~ операнд

Це унарна операція, яка доповнює значення біту кожного розряду операнду до 1. Операнд повинен мати тип int.

3. Побітове І:

вираз & вираз

Результатом є побітова функція І операндів. Результат обчислюється побітово – для кожного розряду операндів згідно таблиці істинності операції логічне І і записується у відповідний розряд. Операція застосовується тільки до операндів типу int.

X Y X^Y
     
     
     
     

4. Виключене побітове АБО (XOR):

вираз ^ вираз

Результатом є побітова функція в иключене побітове АБО, яка виконується для кожного розряду операндів згідно наведеної таблиці істинності. Застосовується тільки до операндів типу int. Увага! В інших мовах програмування значок ^ застосовують для виконання операції зведення в степінь, але в мові С зведення в другий або третій степінь зручно виконувати простим перемноженням, а в інших випадках для зведення числа х в степінь у слід використовувати вбудовану функцію pow(x,y).

5. Побітове АБО:

вираз | вираз

Результатом є відповідна побітова функція АБО, яка виконується для кожного розряду операндів згідно наведеної для логічного АБО таблиці істинності. Застосовується тільки до операндів типу int.





Дата публикования: 2014-12-28; Прочитано: 238 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...