XOR ^^

Operador lógico y binario de OR (o) exclusivo utilizado en expresiones y condiciones.

La palabra reservada XOR y el símbolo ^^ son sinónimos.

XOR lógico: Se evalúan primero las condiciones de la derecha e izquierda del operador y si sólo una de ambas es cierta, este operador devolverá cierto; en caso contrario el operador devolverá siempre falso.

  FALSO XOR FALSO = FALSO
  FALSO XOR CIERTO = CIERTO
  CIERTO XOR FALSO = CIERTO
  CIERTO XOR CIERTO = FALSO

Se utiliza para comprobar que se cumplan una, y sólo una, de las dos condiciones que se especifican, por ejemplo:

  (y>0 XOR x>0)

Para comprobar que la primera variable sea mayor que 0, o bien ('o' exclusivo), que lo sea la segunda (pero no la primera).

XOR binario: Evalúa los bits de los resultados de las expresiones anterior y posterior al operador generando, como resultado, un valor que tendrá a 1 solamente los bits que tuvieran a 1 una, y sólo una, de las expresiones.

  0 XOR 0 = 0
  0 XOR 1 = 1
  1 XOR 0 = 1
  1 XOR 1 = 0

Esta regla se aplicará a todos los bits de los operandos (en el lenguaje son enteros de 32 bits).


Nota: Este operador funciona indistintamente como lógico y binario debido a que en el lenguaje se interpretan las expresiones lógicas ciertas como las que tienen el último bit a 1 (el bit 0, de peso 1), es decir, los números impares (1, -1, 3, -3, ... ), y como expresiones lógicas falsas las que tienen el último bit a 0 (los números pares: 0, 2, -2, 4, -4, ...).

El operador XOR únicamente dejará a 1 el último bit (sólo devolverá cierto como resultado} cuando lo tuviera a 1 uno, y sólo uno, de ambos operandos (cuando únicamente una de las dos expresiones fuera cierta).


Nota: El símbolo ^ también puede utilizarse como un sinónimo más de XOR y ^^.


Ver: Sintaxis - Expresión - Condición - OR