Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
L-logic-bit.doc
Скачиваний:
1
Добавлен:
24.04.2019
Размер:
301.57 Кб
Скачать

10

Міністерство освіти і науки україни Національний університет «Львівська політехніка» Кафедра «Телекомунікації»

Логічні і побітові операції та вирази мови с

Методичні вказівки до лабораторної роботи з дисципліни

«Інформатика телекомунікаційних систем та мереж, ч.IІ»

для студентів базового напряму 6.0924

«Телекомунікації»

Затверджено

на засіданні кафедри «Телекомунікації»

Національного університету

«Львівська політехніка»,

протокол №___ від______2009 р.

Львів 2009

МЕТА РОБОТИ: дослідити властивості операцій порівняння, логічних і побітових мови програмування С.

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

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

вираз < вираз

вираз > вираз

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

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

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

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

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

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

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

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

X

Y

X&&Y

0

0

0

0

1

0

1

0

0

1

1

1

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

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

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

X

Y

X||Y

0

0

0

0

1

1

1

0

1

1

1

1

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

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

Умовна тримісна операція (тернарна).

На відміну від унарних і бінарних операцій умовна тернарна операція використовується з трьома операндами. В зображенні умовної операції використовуються два символи ‘?’ i ‘:’ і три вирази:

вираз1 ? вираз2 : вираз3.

Першим обчислюється виразу1. Якщо воно істинне, тобто не дорівнює нулю, то обчислюється значення виразу2, яке стає результатом. Якщо при обчисленні виразу 1 отримується 0 (нуль), то в якості результату приймається значення виразу3.

Приклад:

x<0? – x : x;

Вираз повертає абсолютну величину змінної х.

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

  1. Операції зсуву (визначені тільки для цілочисельних операндів):

операнд лівий операція зсуву операнд правий

<< – зсув ліворуч бітового представлення лівого цілочисельного операнда на кількість розрядів, що дорівнює значенню правого цілочисельного операнда.

>> – зсув праворуч бітового представлення лівого цілочисельного операнда на кількість розрядів, що дорівнює значенню правого цілочисельного операнда.

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

~ операнд

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

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

вираз & вираз

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

X

Y

X^Y

0

0

0

0

1

1

1

0

1

1

1

0

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

вираз ^ вираз

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

В інших мовах програмування символ ^ застосовують для виконання операції піднесення до степеня. В мові С піднесення до другого або третього степенів зручно виконувати простим перемноженням. В інших випадках для піднесення числа х до степеня у слід використовувати вбудовану функцію pow(x,y).

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

вираз | вираз

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]