Wpis z mikrobloga

@pkh: Tylko nieparzysta liczba true daje true na wyjściu czyli dla zera jest to false.
@Dijuna: Wszyscy jakoś się tak zamieszali, a odpowiedz jest prosta, nie, musisz je dodać do siebie:

bool b = ((_a && !a_) + (_y && !y_) + (_n && !n_)) == 1;
@Dijuna: Nie myślałeś ale korzystałeś, operator^ nie jest zdefiniowany dla typu bool i daje w rezultacie zwykłego inta. Dlatego można się łatwo złapać jak się robi xor z jakąś wartością która nie jest boolem.
@Dijuna: LOL Nie oto chodziło, twój przykład niema żadnego sensu bo int na bool się też domyślnie rzutuje, ten static tam nie jest do niczego potrzebny.
Chodziło oto że:

bool a=1, b=0;
int c = maska & liczba; //sprawdzamy bitowo czy jakies bity sa ustawione, ale zapominamy o bool i wstawiamy inta
bool r= a ^ b ^ c;

// i jak nie wiesz że c to nie bool to masz