Guia de rastreamento dinâmico Solaris

Operadores lógicos

D fornece os seguintes operadores lógicos binários a serem usados em seus programas. Os dois primeiros operadores são equivalentes aos operadores ANSI-C correspondentes.

Tabela 2–8 Operadores lógicos de D

&&

AND lógico: verdadeiro se ambos os operandos forem verdadeiros

||

OR lógico: verdadeiro se um ou ambos os operandos forem verdadeiros

^^

XOR lógico: verdadeiro se exatamente um operando for verdadeiro

Os operadores lógicos são os mais usados para escrever predicados de D. O operador lógico AND realiza avaliação de circuito curto: Se o operando esquerdo for falso, a expressão direita não será avaliada. O operador lógico OR realiza avaliação de circuito curto: Se o operando esquerdo for verdadeiro, a expressão direita não será avaliada. O operador XOR lógico não realiza circuito curto: ambos os operandos da expressão são sempre avaliados.

Além dos operadores lógicos binários, o operador unário ! pode ser usado para realizar uma negação lógica de um único operando: converte um operando zero em um, e um operando diferente de zero em zero. Por convenção, os programadores de D usam ! quando trabalham com inteiros que representam valores booleanos, e == 0 quando trabalham com inteiros não booleanos, embora ambas as expressões tenham significado equivalente.

Os operadores lógicos podem ser aplicados a operandos de tipos de inteiro ou de ponteiro. Os operadores lógicos interpretam operandos de ponteiro como valores inteiros não assinados. Como em todos os operadores lógicos e relacionais em D, os operandos são verdadeiros caso possuam um valor inteiro diferente de zero e falsos caso possuam um valor inteiro igual a zero .