Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Побитовые операции можно проводить с любыми целочисленными переменными и константами. Нельзя использовать эти операции с переменными типа float и double Результатом побитовой операции будет так же целое число. К таким операциям относятся &(“И”), | (“ИЛИ”), ^(“исключающее ИЛИ”), ~ (“НЕ”) << сдвиг влево >> сдвиг вправо. Поразрядные операции позволяют обеспечивать доступ к каждому биту информации.
E1&E2 (операция “И”) E1| E2 (операция “ИЛИ”) E1^E2 (операция исключающее “ИЛИ”)
Результат каждой из трех операций имеет тип операндов, каждый его бит определяется битами операндов, стоящих на тех же местах
Е1 | Е2 | & | | | ^ |
Операция отрицания ~E
бит Е Бит результата
0 1
1 0
Если надо установить значение старшего разряда переменной типа char равным нулю, то удобно применить операцию &(END) с константой 127
Пример:
ch=сh&127;
пусть ch=’Б’; // Б 10000001
// 127 01111111
тогда получим 00000001
Поразрядные операции удобны для хранения в сжатом виде информации о состояниях ON/OFF(вкл. выкл.) В одном байте можно хранить 8 таких флагов. Часто поразрядные операции находят применение в драйверах устройств.
Пример:
Пусть ch- переменная флагов проверить находится ли флаг в состоянии ОN(вкл) в третьем бите.
if(ch&4) cout<<”3 бит содержит 1 состояние ON”;
// операция if проверяет на неравенство нулю
// 4=00000100
Дата публикования: 2014-12-08; Прочитано: 271 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!