, , , ,

xor

L'opérateur xor est utilisé pour réaliser l'opération logique «OU» exclusive.


Sa forme courante est la suivante:

(xor <objet> <arg1> [ … <argN>])


Voici par exemple la table de vérité de xor:

(display (xor (false) (false)))
(display (xor (false) (true)))
(display (xor (true) (false)))
(display (xor (true) (true))))

(false)
(true)
(true)
(false)

On l'utilise généralement avec des valeurs booléennes, mais on peut aussi l'utiliser avec les nombres entiers (int et long-int). Dans ce cas, les opérations sont réalisées de façon binaire (c-à-d, bit à bit).

(display (bin-string (xor 0b11000 0b10010)) ) 

1010

Il est possible de définir le comportement spécifique de l'opérateur et d'élargir son concept à tous nouveau type de donnée. Pour cela, il suffit de définir ou de surcharger la méthode @xor.