Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
C++ первый курс Alex Жив / C++ Перший курс / old / Lections 1 trim / Лекція №2 Вирази та оператори.doc
Скачиваний:
24
Добавлен:
23.03.2015
Размер:
70.66 Кб
Скачать

Операції зсуву вліво й вправо

Для здійснення зсуву послідовності біт уліво й вправо застосовуються відповідно операції << і >> Операнд праворуч від знака операції вказує, на яку величину повинні бути зсунуті біти, задаючи тим самим кількість біт, "виведених" зі змінної, і число нульових біт, що заповнюють змінну з іншої сторони.

Наприклад:

unsigned char A = 12 ; // А = 00001100

А = А << 2 ; // А = 00110000

А = А >> 3 ; // А = 00000110

Слід ураховувати, що при використанні правого зсуву, якщо самий старший біт дорівнює одиниці (ознака негативного числа в змінних зі специфікатором signed), деякі компілятори можуть не "увести" нулі ліворуч. Щоб уникнути подібних ситуацій, рекомендується перетворювати операнд операції в беззнаковий тип (unsigned).

Оператори порівняння

< - Менше

<= Менше або рівно

> Більше

>= Більше або рівно

== Рівно

!= Не рівно

Для того щоб була можливість порівнювати між собою значення яких-небудь змінних, мова C++ передбачає так звані оператори порівняння - бінарні оператори виду:

<Операнд1><ОператорСравнения><Операнд2>

У результаті роботи операторів порівняння вертається логічне значення true (істина), якщо, що перевіряється умова вірна, або false (неправда) а якщо ні.

Операція "кома"

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

Завдяки використанню даної операції при написанні програм досягається висока ефективність. Приміром, в операторі if, розглянутому нижче, можна в якості виразу ввести:

if ( i = Callfunc, i > 7)

Тоді спочатку виконається виклик функції Callfunc із присвоєнням результату змінної i, а потім відбудеться порівняння значення i із числом 7.

Ще більшої ефективності можна досягти при використанні операції "кома" в операторі циклу for. Більш докладно цей момент буде розглянутий нижче.

Пріоритет і порядок виконання операцій

Як у будь-якій арифметиці, в C++ операції виконуються в певному порядку. Так, наприклад, математичні вирази обчислюються з ліва на право, у той час як оператор присвоєння виконується з права на ліво.

Для того щоб компілятор міг розібратися, яке ж дія здійснювати першим при виконанні операцій, останні мають важливу властивість - пріоритетом. У першу чергу виконуються операції з найвищим пріоритетом.

Мова C++ надає програмістові можливість самостійно задавати порядок виконання обчислень. Із цією метою, як і в математиці, операнди групуються за допомогою дужок, які можуть бути вкладеними друг у друга. Не існує обмеження на вкладеність дужок.