Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
АМК_практ_зан.docx
Скачиваний:
4
Добавлен:
20.11.2019
Размер:
530.41 Кб
Скачать

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

<<

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

>>

операнд1 >> операнд2 ( зсув праворуч операнда1 , додатний операнд2 визначає кількість зсувів , операнди цілочислові ; зсув логічний для

беззнакового операнд1, звільнені біти заповнюються нулями ; зсув

арифметичний для знакового операнд1, звільнені біти заповнюються знаком – розширення знака) .

Приклади:

a) int v = 0x1234 , r ;

r = v << 8; // r = 0x3400

v 0001 0010 0011 0100

r 0011 0100 0000 0000

v = r > > 8; // v = 0x0034

b) зсув ліворуч використовується для множення беззнакових чисел на 2к ,де к – кількість зсувів . Зсув праворуч використовується для цілочислового ділення на 2к , беззнакові числа округлюються у напрямку до нуля , а знакові округлюються у напрямку до від’ємної нескінченості .

Приклади:

0x0005 << 1 à 0x000A 0x0005 >> 1 à 0x0002

-5 / 2 à -2 -2/2 à -1 -1/2 à 0

0xFFFB >> 1 à 0xFFFD ( - 3 у доповняльному коді )

0xFFFD >> 1 à 0xFFFE ( -2 у доповняльному коді )

0xFFFE >> 1 à 0xFFFF ( -1 у доповняльному коді )

0xFFFF >> 1 à 0xFFFF ( -1 у доповняльному коді )

5.Операції відношення

< менше

<= менше або дорівнює

> більше

>= більше або дорівнює

== дорівнює

!= не дорівнює

вираз операнд1 операція_відношення операнд2 (значення виразу true (істинно) ,якщо відношення справедливо ,або false (хибне) ,якщо ні ; у виразах цілого типу true перетворюється у 1 , а false у 0 .

Приклади:

N <5 // N = 3 à true N = 5 à false N = 10 à false

ch != ‘A’ // ch = ‘B’ à true ch = ‘A’ à false

i == 7 //i = 5 à false i = 7 à true i = 9 à false

6.Побітові логічні операції

& операціяI” , AND

| операція “АБО” ,OR

^ операція “ВИКЛЮЧНЕ АБО , XOR

вираз операнд1 операція операнд2 (операнди – коди ,краще коди цілих чисел )

0 & 0 = 0 0 | 0 = 0 0 ^ 0 = 0

0 & 1 = 0 0 | 1 = 1 0 ^ 1 = 1

1 & 0 = 0 1 | 0 = 1 1 ^ 0 = 1

1 & 1 = 1 1 | 1 = 1 1 ^ 1 = 0

Приклади:

unsigned int r , k = 0x12FF , j = 0x00FF ;

r = k & j ; // r = 0x00FF

r = k | j ; // r = 0x12FF

r = k ^ j ; // r = 0x1200

7. Логічні вирази та операції

&& логічна операціяI” , AND

| | логічна операція “АБО” ,OR

логічний вираз операнд1 логічна_операція операнд2 (операнди –логічні константи , вирази відношення ,логічні змінні або логічні вирази ; результат true (1) або false (0) : для операціїIрезультат true , коли обидва операнди мають значення true ,у інших випадках результат false ; для операції “АБО” результат false , коли обидва операнди мають значення false ,у інших випадках результат true ).

Приклади:

5 > 2 && 4 < 7 // результат true

5 > 2 && 4 > 7 // результат false

5 < 2 && 7 > 4 // результат false

5 > 2 || 4 < 7 // результат true

5 > 2 || 4 > 7 // результат true

5 < 2 || 7 > 4 // результат true

5 < 2 || 7 < 4 //результат false

5 > 2 && 4 < 7 && 8 < 6 // результат false

5 > 2 || 4 < 7 || 8 < 6 // результат true

5 > 2 || 4 < 7 && 8 < 6 // результат false