OR || |

Operador binario de suma lógica utilizado en expresiones y condiciones.

La palabra reservada OR y los símbolos || y | son sinónimos.

OR lógico: Se evalúan primero las condiciones de la derecha e izquierda del operador y si al menos una de ellas es cierta, este operador devolverá cierto, en caso contrario el operador devolverá falso (cuando las dos condiciones sean falsas).

  FALSO OR FALSO = FALSO
  FALSO OR CIERTO = CIERTO
  CIERTO OR FALSO = CIERTO
  CIERTO OR CIERTO = CIERTO

Se utiliza para comprobar que se cumplan una (cualquiera) de las condiciones que se establecen, por ejemplo:

  (x>0 OR y>0)

Para comprobar que al menos una de las dos variables sea mayor que 0. Es decir, que se cumpla la primera condición O la segunda.

OR binario: Evalúa los bit de los resultados de las expresiones anterior y posterior al operador, generando como resultado un valor que tendrá a 1 los bit que tuvieran a 1 cualquiera de las expresiones.

  0 OR 0 = 0
  0 OR 1 = 1
  1 OR 0 = 1
  1 OR 1 = 1

Esta regla se aplicará a todos los bit 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 OR dejará a 1 el último bit (devolverá cierto como resultado} cuando lo tuviera a 1 uno (cualquiera) de los operandos (cuando los dos fueran, al menos, una de las dos expresiones fuera cierta).


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