Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

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



Побитовые операции можно проводить с любыми целочисленными переменными и константами. Нельзя использовать эти операции с переменными типа 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 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...