Você está aqui: Java ::: Dicas & Truques ::: Operadores de Manipulação de Bits (Bitwise Operators) |
Como usar o operador de bits ^ (OU Exclusivo/XOR sobre bits) da linguagem JavaQuantidade de visualizações: 8957 vezes |
O operador de bits ^ (OU Exclusivo/XOR sobre bits) da linguagem Java é usado quando queremos comparar os bits individuais de dois valores integrais (inteiros) e produzir um terceiro resultado. Os bits no resultado serão configurados como 1 SE SOMENTE UM dos bits nos dois outros valores for 1. Em caso contrário os bits são configurados como 0 (no caso em que ambos os bits correspondentes estão configurados como 1 ou 0). Vamos analisar os seguintes valores binários: a) 0101 (5 decimal) b) 0100 (4 decimal) Quando aplicamos o operador ^ nestes dois valores teremos o seguinte resultado: 0101 0100 ---- 0001 Veja que o resultado é 0001, uma vez que apenas o quarto bit do primeiro valor está configurado como 1, enquanto o seu correspondente no segundo valor está configurado como 0. Vamos ver isso em Java agora. Observe o seguinte trecho de código: public class Main { public static void main(String[] args) { int a = 5; int b = 4; int c = a ^ b; // OU exclusivo/XOR // exibe o resultado (em inteiro e em bytes) System.out.println("a = " + obterBits(a) + " (" + a + ")"); System.out.println("b = " + obterBits(b) + " (" + b + ")"); System.out.println("a ^ b = " + obterBits(c) + " (" + c + ")"); } // método auxiliar que converte um inteiro em sua representação em bits public static String obterBits(int valor){ int mascara = 1 << 31; StringBuffer buffer = new StringBuffer(35); for(int i = 1; i <= 32; i++){ if((valor & mascara) == 0){ buffer.append('0'); } else{ buffer.append('1'); } valor <<= 1; if(i % 8 == 0){ buffer.append(' '); } } return buffer.toString(); } } Ao executar este código teremos o seguinte resultado: a = 00000000 00000000 00000000 00000101 (5) b = 00000000 00000000 00000000 00000100 (4) a ^ b = 00000000 00000000 00000000 00000001 (1) |
![]() |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |