- Expressões
- Operações Aritméticas
- Operações de Atribuição
- Operações de Relação
- Operações Booleanas
- Operações Binárias
- Outras Operações
- Regras de Precedência
Operações Binárias
Complementar de Um
Complementar do valor da variável até um. O valor da expressão contém 1 em todos os dígitos onde o valor da variável contem 0, e 0 em todos os demais dígitos onde a variável contem 1.
b = ~n; |
Exemplo:
char a='a',b;
|
Deslocamento para Direita
A representação binária de x é deslocada para direita em y dígitos. Se o valor a ser deslocado é de um tipo sem sinal (unsigned type), o deslocamento lógico para a direita é feito, isto é, os bits do lado esquerdo liberados serão preenchido com zeros.
Se o valor a ser desloca é de um tipo com sinal (signed type), o deslocamento aritmético para direita é feito, isto é, os dígitos do lado esquerdo liberados serão preenchidos com o valor do bit de sinal (sign bit) (se o número é positivo, o valor do bit de sinal é 0, se o número é negativo, o valor do bit de sinal é 1).
x = x >> y; |
Exemplo:
char a='a',b='b';
|
Deslocamento para Esquerda
A representação binária de x é deslocada para esquerda em y dígitos, os dígitos do lado direito liberados são preenchidos com zero.
x = x << y; |
Exemplo:
char a='a',b='b';
|
Não é recomendável deslocar um número maior ou igual de bits que o comprimento da variável deslocada, porque o resultado de tal operação é indefinido.
Operação AND bit a bit
A operação AND bit a bit em representações binárias de x e y. O valor da expressão contem 1 (TRUE) em todos os dígitos onde ambos x e y contém não-zero, e contem 0 (FALSE) em todos os demais dígitos.
b = ((x & y) != 0); |
Exemplo:
char a='a',b='b';
|
Operação OR bit a bit
A operação OR bit a bit de representações binárias de x e y. O valor da expressão contem 1 em todos os dígitos onde x ou y não contém 0, e contém 0 em todos os demais dígitos.
b = x | y; |
Exemplo:
char a='a',b='b';
|
Operação OR Exclusivo bit a bit
A operação OR exclusivo bit a bit (eXclusive OR) de representações binárias de x e y. O valor da expressão contem 1 em todos os dígitos onde x e y tem valores binários diferentes, e contém 0 em todos os demais dígitos.
b = x ^ y; |
Exemplo:
char a='a', b='b';
|
Operações bit a bit são realizadas somente com inteiros.
Também Veja