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).