Comment puis-je déterminer si * exactement * un booléen est vrai, sans conversion de type?

Donné un arbitraire liste de booléens, ce qui est la façon la plus élégante de déterminer que exactement l'un d'entre eux est vrai?

Le plus évident hack est le type de conversion: la conversion à 0 pour false et 1 pour true et puis en faisant la somme, et le retour sum == 1.

Je voudrais savoir si il existe un moyen de le faire sans les convertir en entiers, fait à l'aide de la logique booléenne.

(Ce qui semble comme il devrait être trivial, idk, longue semaine)

Edit: Dans le cas où il n'était pas évident, ce n'est plus un code-golf /question théorique. Je ne suis pas embêté à propos de l'utilisation de ce type de conversion /int plus en PROD, code, je suis juste intéressé si il y a moyen de le faire sans que.

Edit2: Désolé les gars c'est une longue semaine et je n'ai pas à m'expliquer. Laissez-moi essayer ceci:

Dans la logique booléenne, ANDing une collection de booléens est vrai si toutes les valeurs booléennes sont remplies, la Bague de la collection est vrai si l'un d'eux est vrai. Est-il une construction logique qui sera vrai si exactement un booléen qui est vrai? XOR est-ce pour une collection de deux booléens par exemple, mais pas plus que cela et il tombe.

source d'informationauteur SCdF