Guía de seguimiento dinámico de Solaris

operadores lógicos

D proporciona los siguientes operadores lógicos binarios para utilizarlos en sus programas. Los dos primeros operadores son equivalentes a los operadores de ANSI-C correspondientes.

Tabla 2–8 Operadores lógicos de D

&&

AND lógico: verdadero (true) si ambos operandos son verdaderos (true)

||

OR lógico: verdadero (true) si uno o los dos operandos son verdaderos (true)

^^

XOR lógico: verdadero (true) si exactamente un operando es verdadero (true)

Normalmente, los operadores lógicos se utilizan con mayor frecuencia para escribir predicados en D. El operador lógico AND realiza una evaluación de cortocircuito: si el operando de la izquierda es falso (false), la expresión de la derecha no se evalúa. El operador lógico OR realiza una evaluación de cortocircuito: si el operando de la izquierda es verdadero (true), la expresión de la derecha no se evalúa. El operador lógico XOR no provoca ningún cortocircuito: ambos operandos se evalúan siempre.

Además de los operadores lógicos binarios, el operador unario ! se puede utilizar para realizar una negación lógica de un único operando: convierte un operando cero en un uno, y un operando distinto a cero en cero. Por convención, los programadores de D utilizan ! cuando trabajan con números enteros que tienen que representar valores booleanos y == 0 cuando trabajan con números enteros no booleanos, aunque ambas expresiones tienen un significado equivalente.

Los operadores lógicos se pueden aplicar a operandos de tipo números enteros o punteros. Los operadores lógicos interpretan los operandos de puntero como valores de números enteros sin signo. Al igual que los operadores lógicos y relacionales en D, los operandos son verdaderos (true) si tienen un valor de número entero distinto a cero y falsos (false) si tienen un valor de numero entero cero.