Olá Pessoal, tudo bom?
Continuando nossa descrição básica sobre os operadores no Java, hoje é dia de falar sobre o operador bitwise excluise OR ou XOR. A décima parte desse artigo se encontra aqui. Confira na continuação desse artigo sobre o operador bitwise exclusive OR:
Operador Bitwise Exclusive OR
O operador bitwise exclusive OR é definido pelo simbolo abaixo:
Operador | Descrição |
---|---|
^ | Operador Bitwise para operações Bitwise do tipo exclusive OR |
Para realizar o seu processo o operador aplica a tabela verdade do excluisive OR, conforme tabela abaixo, a qual indica que o bit será 1 se ambos os bits forem diferentes:
Bit 1 | Bit 2 | OR – Valor Final |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
Normalmente o Bit 1 pertence a uma instância que representa o valor (flag) a ser validado e o Bit 2 pertence a uma instância que representa a máscara de bits (bitmask):
1 2 3 4 |
1 0 0 1 0 1 1 0 (Flag) XOR 0 0 0 0 0 0 1 0 (Bitmask) --------------- 1 0 0 1 0 1 0 0 (Resultado da operacao) |
Abaixo temos uma classe de exemplo que trabalha com o operador bitwise exclusive OR:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
package br.com.mauda.operadores; public class OperadorBitwiseExclusiveOR { public static void main(String[] args) { int bitmask = 0x000F; //Em binario 0000 0000 0000 1111 int flag = 0x2222; //Em binario 0010 0010 0010 0010 // =================== //Em binario 0010 0010 0010 1101 int resultado = flag ^ bitmask; System.out.println("Resultado da operacao bitwise Exclusive OR: " + resultado); } } |
O resultado da execução dessa classe será o seguinte:
1 |
Resultado da operacao bitwise Exclusive OR: 8749 |
Precedência dos Operadores
Continuando a formular a tabela de precedência, agora segue o operador bitwise exclusive OR, o qual está abaixo do operador bitwise AND, assim verifique a tabela abaixo:
Ordem | Tipo de Operador | Precedência |
---|---|---|
1 | Pós Fixo | expr++ expr– |
2 | Pré fixo e Unário | ++expr –expr +expr -expr ! |
3 | Multiplicativo | * / % |
4 | Aditivo | + – |
5 | Relacional | > >= <= < instanceof |
6 | Igualdade | == != |
7 | Bitwise AND | & |
8 | Bitwise exclusive OR | ^ |
9 | Bitwise inclusive OR | | |
10 | AND Lógico | && |
11 | OR Lógico | || |
12 | Ternário | ? : |
13 | Atribuição | = += -= *= /= %= |
finnaly{
Duvidas ou sugestões? Deixe seu feedback! Isso ajuda a saber a sua opinião sobre os artigos e melhorá-los para o futuro! Isso é muito importante!
Até um próximo post!
Leave a Reply