Могут ли побитовые операции сделать это? ⇐ C++

Программы на C++. Форум разработчиков
Anonymous
Могут ли побитовые операции сделать это?

Сообщение Anonymous »

У меня есть базовая логика, которую я могу реализовать с помощью логических операторов:

Код: Выделить всё

if a == true && b == false
Мне интересно, могу ли я сделать то же самое с побитовыми операторами?
XOR делает следующее:

Код: Выделить всё

0 ^ 0 = false
0 ^ 1 = true
1 ^ 0 = true
1 ^ 1 = false
Если я использую XOR, это то, что мне нужно, и это сработает:

Код: Выделить всё

1 ^ 0 = true
Однако XOR также вернет это, а это НЕ то, что я хочу:

Код: Выделить всё

0 ^ 1 = true
Итак, есть ли способ сделать это с помощью побитовых операторов, без использования каких-либо логических операторов? Я хорошо разбираюсь в побитовых операциях и не вижу решения этой проблемы, но это не значит, что я не могу что-то упустить.

Подробнее здесь: https://stackoverflow.com/questions/790 ... ns-do-this

Вернуться в «C++»