Битовые операции

 

Битовое «и» Битовое «или» Битовое исключающее «или» Сдвиг влево Сдвиг вправо Инверсия битов (унарная операция) & | ~ « » \ ~  

 

Программа 87

#include<stdio.h>

main()

(

int у, х, z, k;

x=03; y=02; z=01; k=x|y&z; printf("%d\n",k) ;

k=x|y&~z; printf("%d\n",k) ;

k=x^y&~z; printf("%d\n",k) ;

k=x&y&&z; printf("%d\n",k) ;

x=l; y=-l;

k=!x|x; printf("%d\n",k) ;

k=-x|x; printf("%d\n",k) ;

k=x^x; printf("%d\n",k) ;

x<<=3; printf("%d\n",x);

y<<=3; printf("%d\n",y);

y>>=3; printf("%d\n",y);

}

После выполнения программы получаем следующие результаты:

3 3 1 1 1 -1 0 8 -8 8 1 9 1

Выражения. Конструкции, включающие константы (литералы), переменные, знаки операции, скобки для управления порядком выполнения операций, обращения к функциям, называют выражениями.

Если в выражениях встречаются операнды различных типов,то они преобразуются к общему типу в соответствии с определенными правилами:

• переменные типа char интерпретируются как целые без знака (unsigned);

• переменные типа short автоматически преобразуются в int; если одиниз операндов имеет тип unsigned, то другой (другие) также преобразуется к типу unsigned и результат имеет тип unsigned;

• если один из операндов имеет тип int, то другой (другие) также преобразуется ктипу int и результат имеет тип int;

• если один из операндов имеет тип char, то другой (другие) также преобразуется к типу char и результат имеет тип char;

• во время операции присваивания значение правой части преобразуется к типу левой части, который и становится типом результата;

• в процессе преобразования int в char лишние старшие 8 бит просто отбрасываются. Кроме того, существует возможность точно указывать требуемый тип данных, к которому необходимо привести некоторую величину (в скобках перед этой величиной). Скобки и имя типа вместе образуют операцию, называемую приведением типов.

Например: z=(int)x+(int)y;

 

ОПЕРАТОРЫ. УПРАВЛЯЮЩИЕ КОНСТРУКЦИИ ЯЗЫКА

Операторы служат основными строительными блоками программы. В языке Си указанием на наличие оператора служит символ «точка с запятой», стоящий в конце него.

Операторы состоят из выражений. Выражение представляет собой объединение операций и операндов. Операндом называется то, над чем выполняется операция.