Bitwise Operadores


  Share  
|


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


Share  

© 2005-2010 E-articles.info All Rights Reserved - Terms and conditions