Bitwise Operadores
A seguinte tabela mostra os operadores do padrão
bitwise em Java e uma descrição deles.
| Operador |
Descrição |
| & |
Bitwise E |
| | |
Bitwise inclusivo-Ou (sabido geralmente como OU) |
| ^ |
Bitwise exclusivo-Ou (sabido geralmente como XOR) |
| ~ |
Bitwise NÃO |
Para ilustrar bitwise a função destes
operadores, nós podemos usar dois valores do byte, A e B, que em java
poderiam ser representados por uma variável do tipo byte. A
seguinte tabela mostram a notação binária de A e B (porque há 8
bocados em um byte).
| Byte |
Valor Binário |
| A |
01101010 |
| B |
11110000 |
E (&) operador testa dois bocados e retorna o
bocado resultante verdadeiro se ambos os bocados do teste forem
verdadeiros; se não, o bocado do retorno é falso. A
seguinte tabela mostra o resultado de A E de B.
| Byte |
Bocados |
| A |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
| B |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
| A E B |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
OU (|) o operador testa dois bocados e retorna o bocado
resultante verdadeiro se alguns ou ambos os bocados do teste forem
verdadeiros; se forem ambo o falsos, o bocado do retorno é
também falso. A seguinte tabela mostra o resultado de A OU de
B.
| Byte |
Bocados |
| A |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
| B |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
| A E B |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
O operador de XOR (^) testa dois bocados e retorna
o bocado resultante verdadeiro se um, e somente um, dos bocados for
verdadeiros; se não, se os dois valores forem iguais, o bocado
do retorno é falso. A seguinte tabela mostra o resultado de A
XOR B.
| Byte |
Bocados |
| A |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
| B |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
| A E B |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
NÃO o operador (do ~) inverterá todos os
bocados, onde uns se transformam zero e os zero se transformam uns, e
é conseqüentemente um operador unary usado com somente um operando,
visto que os outros bitwise operadores que nós vimos apenas foram
testados de encontro a dois operandos (operadores binários), A e B.
A seguinte tabela mostra o resultado NÃO de uma operação no
byte A.
| Byte |
Bocados |
| A |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
| NÃO A |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
Bitwise E, os operadores OU, e de XOR podem
também ser usados com expressões booleanas, porque os valores
booleanos eficazmente contêm somente um bocado que é verdadeiro ou
falso. Isto pode ser executado em Java como segue:
o musicOn booleano = rectifica; o televisionOn
booleano = rectifica; areBothOn = musicOn & televisionOn
booleanos; //areAnyOn = musicOn booleanos verdadeiros | televisionOn; //rectifique o televisionOn
booleano do isOnlyOneOn = do musicOn ^; //falso
Há também operadores de atribuição para estes
três bitwise operadores, como mostrado na seguinte tabela.
| Operador |
Descrição |
| & = |
Bitwise E atribuição |
| |= |
Bitwise inclusivo-Ou atribuição |
| ^ = |
Atribuição bitwise exclusiva-XOR |
este é um artigo adicionado por Gabriela C.
Perez