21
Биттік «жою» (~);
Солға жылжыту (<<);
Оңға жылжыту (>>).
Биттер инверсиясы(унарлық операция) (\~).
Мысалы:
# include
main()
{
int x, y, z;
x=1; y=1; z=0;
x=x&&y| | z;
printf(“%d\n”, x);
x=x| | ! y&& z;
printf(“%d\n”, x);
x=y=1; z=x + +-1; printf(“%d\n”, x); printf(“%d\n”, z);
z+=-x + + + + +y; printf(“%d\n”, x); printf(“%d\n”, z);
}
2.5.3 Меншіктеу операциясы
Меншіктеу операциясы Си тілінде оператор емес операция болып
саналады. Меншіктеу операциясының белгісі =. Осыған орай меншіктеу кез
келген басқа операция сияқты өрнекке бірнеше рет кіруі мүмкін. Мысалы:
а=b=с=х+у;
Меншіктеудің дәрежесі ең төмен. Сонымен қатар меншіктеу операциясы
– оң жақты ассициативті. Бұл деген сөз бірнеше бірінен-бірі орналасқан
меншіктеулер оңнан солға қарай орындалады.
Си тілінде басқа операцияларды орындауда меншіктеулердің орнын
ауыстыратын қосымша меншіктеу операциялары бар. Олардың ішінде:
+=,
-
=,
/=,
*=,
%=.
Олардың дәрежесі қарапайым меншіктеудегі сияқты болады.
Осы функцияны пайдалану мысалдары:
a+= 2 эквивалентті a = a+2,
x-= a+b эквивалентті x = x-(a+b),
p/= 10 эквивалентті p = p/10,
m*= n эквивалентті m = m*n,
r%= 5 эквивалентті r = r%5.
а=а+2 өрнегінің орнына программада а+=2 деп жазу ыңғайлы екенін
айту керек, өйткені бұл өрнек тез орындалады.