Основные бинарные операции, расположенные в порядке уменьшения приоритета:
* — умножение;
/ — деление;
+ — сложение;
— — вычитание;
% — остаток от целочисленного деления.
Основные унарные операции:
++ — инкрементирование (увеличение на 1);
–– — декрементирование (уменьшение на 1);
— — изменение знака.
Пример:
int a=2;
int b=3;
int c;
c = a*++b;
// c=8, поскольку в операции умножения
//уже b=4
|
int a=2;
int b=3;
int d;
d = a*b++;
// d=6, поскольку в операции умножения b=3,
// следующим действием будет b=4
|
поскольку в операции умножения b=3,
// следующим действием будет b=4
Логические операции
Логические операции делятся на две группы:
Условные логические операции чаще всего используются в операциях проверки условия if и могут выполняться над любыми объектами. Результат условной логической операции:
1 если выражение истинно;
0 если выражение ложно.
Вообще, все значения, отличные от нуля, интерпретируются условными логическими операциями как истинные.
Основные условные логические операции:
&& — И (бинарная) — требуется одновременное выполнение всех операций отношения;
|| — ИЛИ (бинарная) — требуется выполнение хотя бы одной операции отношения;
! — НЕ (унарная) — требуется невыполнение операции отношения.
Побитовые логические операции оперируют с битами, каждый из которых может принимать только два значения: 0 или 1.
Основные побитовые логические операции в языке Си:
& конъюнкция (логическое И) — бинарная операция, результат которой равен 1 только когда оба операнда единичны (в общем случае — когда все операнды единичны);
| дизъюнкция (логическое ИЛИ) — бинарная операция, результат которой равен 1 когда хотя бы один из операндов равен 1;
~ инверсия (логическое НЕ) — унарная операция, результат которой равен 0 если операнд единичный, и равен 1, если операнд нулевой;
^ исключающее ИЛИ — бинарная операция, результат которой равен 1, если только один из двух операндов равен 1 (в общем случае если во входном наборе операндов нечетное число единиц).
Для каждого бита результат выполнения операции будет получен в соответствии с таблицей.
a
|
b
|
a & b
|
a | b
|
~a
|
a ^ b
|
0
|
0
|
0
|
0
|
1
|
0
|
0
|
1
|
0
|
1
|
1
|
1
|
1
|
0
|
0
|
1
|
0
|
1
|
1
|
1
|
1
|
1
|
0
|
0
|
Пример:
1
2
3
4
5
6
7
unsigned char a = 14; // a = 0000 1110
unsigned char b = 9; // b = 0000 1001
unsigned char c, d, e, f;
c = a & b; // c = 8 = 0000 1000
d = a | b; // d = 15 = 0000 1111
e = ~a; // e = 241 = 1111 0001
f = a ^ b; // f = 7 = 0000 0111
Достарыңызбен бөлісу: |