Logiczny xor bez korzystania z if'ów

0

C++ nie dysponuje logicznym XOR'em a jedynie bitowym. I teraz nie wiem co się stanie jak zxoruje dwie zmienne typu bool, czy wynik będzie zawsze ok, tj. wynikiem będzie logiczny xor ?

Czy rzutując na bool zawsze będzie miał on bitową postać 00000000b lub 00000001b ?

Może aby mieć pewność to mógłbym napisać

!!a ^ !!b

?

No właśnie, jaką bitową postać zwracają operatory logiczne, zawsze 0 lub 1 ?

PS. Chodzi mi o standard języka.

0

Xor logiczny to raczej !(a == b)

0

Ba, ja bym nawet zapisał po prostu a!=b :)
Adf, za dużo komputera, albo ja czegoś podchwytliwego w tej tabelce nie dostrzegam:

p q | p^q | p!=q
----+-----+------
0 0 | 0   | 0
0 1 | 1   | 1
1 0 | 1   | 1
1 1 | 0   | 0
0

po prostu a!=b
no tak [glowa]

// Każdemu się zdarza... - deus

1 użytkowników online, w tym zalogowanych: 0, gości: 1