Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект лекций -=Вычислительная техника и прог...docx
Скачиваний:
5
Добавлен:
01.05.2025
Размер:
1.84 Mб
Скачать

3.6.4. Операции деления ( / ) и нахождения остатка от деления ( % )

Операция     /     — операция деления, позволяет разделить один операнд на другой.

Операция     %     — операция получения остатка от деления позволяет определить отстаток от деления одного операнда на другой.

Пример:

int x=11, y=4 ;

float z=4 ;

cout<< x/y << x/z << x%y ;

Результат: 2 2.750000 3

Примечания:

При выполнении операции деления

y= a / b ;

если ''a'' и ''b'' — целые, то ''y'' округляется до целого, в противном случае тип результата определяется самым длинным типом из ''a'' и ''b''.

Операция «остаток от деления» применяется только к целочисленным типам.

3.6.5. Операции сдвига ( << >> )

Операция     <<     — операция сдвига влево.

Операция     >>     — операция сдвига вправо.

Операции применяют к целочисленным операндам. Сдвигают влево или вправо двоичное представление операнда на количество двоичных разрядов (бит), заданное вторым операндом:

y=a<<b ;

z=c>>d ; .

Пример:

cout<< (2<<1) << (2<<2) << (2<<3) <<endl;

cout<< (64<<1) << (64<<2) << (64<<3) <<endl;

Исходное значение — 2 (000000102) ,

Результат : 4 (000001002) 8 (000010002) 16 (000100002)

Исходное значение — 64 (010000002) .

32 (001000002) 16 (000100002) 8 (000010002)

Примечание:

— операция сдвига влево на N бит эквивалентна умножению операнда на ;

— операция сдвига вправо на N бит эквивалентна делению операнда на ;

— при сдвиге двоичного представления операнда влево старшие биты выбрасываются, а младшие биты заполняются нулями;

— при сдвиге двоичного представления операнда вправо старшие биты заполняются нулями, а младшие биты выбрасываются;

— операция сдвига применяют к целочисленным типам.

3.6.6. Операции отношения ( < , <= , > , >=, == , != )

Операция     <     — операция меньше.

Операция     <=  — операция меньше или равно.

Операция     >     — операция больше.

Операция     >=  — операция больше или равно.

Операция     ==  — операция равно.

Операция     !=  — операция не равно.

Приоритет операций:

Операнды могут быть любых типов или указателями. Результатом выполнения операций всегда является либо ''Истина'' (1) либо ''Ложь'' (0) (тип bool).

При необходимости можно использовать скобки.

3.6.7. Поразрядные операции

Операция     &     — операция поразрядного И (конъюнкция), которая сравнивает операнды побитно.

Результат равен 1, только в том случае, если оба бита равны ‘1’, в остальных случаях результат равен '0'.

Пример:

cout<< (6&5) ; // Результат — 4

Рис. 3.5 — К объяснению операции поразрядного И

Операция     |     — операция поразрядного ИЛИ (дизъюнкция) сравнивает операнды побитно: результат равен '1' если хоть один из двух сравниваемых битов равен ‘1’, результат равен ‘0’ только если оба сравниваемых бита равны '0'.

Пример:

cout<< (6|5) ; // Результат — 7

Рис. 3.6 — К объяснению операции поразрядного ИЛИ

Операция     ^     — операция поразрядного исключающее ИЛИ сравнивает операнды побитно: результат равен '1' только если один из двух сравниваемых битов равен '1', в противном случае результат равен '0'.

Пример:

cout<< (6^5) ; // Результат — 3

Рис. 3.7 — К объяснению операции поразрядного «Исключающее ИЛИ»

Таблица 3.7 — Таблица истинности поразрядных операций

a

b

&

|

^

0

0

0

0

0

0

1

0

1

1

1

0

0

1

1

1

1

1

1

0