C++. Вопрос по операциям | и &. - Вопросы по С+
  • Чаты 4chT.com в телеграмм
    Наши группы в телеграмм

Вопрос C++. Вопрос по операциям | и &.

Регистрация
10 Май 2013
Сообщения
97
Репутация
-3
Спасибо
0
Монет
0
У меня есть enum {
a1 = 0x00000001,
a2 = 0x00000002,
a3 = 0x00000004,
a4 = 0x00000008
}
Есть переменная b = a1 | a2 | a4, она может быть равна и a1 | a3 или a2 | a3 | a4.
Так вот, как узнать, что b содержит например a2?
 
Регистрация
22 Ноя 2013
Сообщения
83
Репутация
0
Спасибо
0
Монет
0
В двоичном представлении ты имеешь: a1 = 0001, a2 = 0010, a3 = 0100, a4 = 1000 Следовательно при a1 | a2 | a4 ты получаешь 1011. Исключая третий бит для a3. Поэтому при проверке с a1 при помощи оператора & мы получим результат больше нуля только если установлен бит для a1.
 
Сверху Снизу