Existem duas classes de operadores. Bitwise, que trabalha com inteiros, e Booleano que trabalha apenas com tipos Booleanos.
Operadores lógicos Bitwise
Os tipos de operadores e resultados das operações lógicas são mostrados na tabela abaixo.
| Operador | Operação Tipo | Operando | Tipo de resultado |
|---|---|---|---|
| not | bitwise negação | tipo inteiro | Inteiro |
| and | bitwise and | tipo inteiro | Inteiro |
| or | bitwise or | tipo inteiro | Inteiro |
| xor | bitwise xor | tipo inteiro | Inteiro |
| shl | deslocamento a esquerda | tipo inteiro | Inteiro |
| shr | deslocamento a direita | tipo inteiro | Inteiro |
Se o operando do operador NOT é do tipo inteiro, o resultado será do mesmo tipo inteiro
Se os dois operandos de um operador AND, OR ou XOR são do tipo inteiro, o resultado será do mesmo tipo dos dois operandos.
As operações I shl J e I shr J deslocam o valor de I para a esquerda ou para a direita de J bits. O tipo do resultado é o mesmo do tipo de I.
Operadores lógicos Booleanos
Os tipos de operandos e os reultados das operações booleanas são mostrados na tabela abaixo:
| Operador | Operação | Tipo operando | Tipo resultado |
|---|---|---|---|
| not | negação | Tipo Booleano | Booleano |
| and | lógica and | Tipo Booleano | Booleano |
| or | lógica or | Tipo Booleano | Booleano |
| xor | lógica xor | Tipo Booleano | Booleano |
A lógica Booleana normal determina o resultado de suas operações. Por exemplo, A and B será Verdadeiro somente se ambos A e B forem Verdadeiros.