Você está aqui: Java ::: Dicas & Truques ::: Operadores de Manipulação de Bits (Bitwise Operators) |
Como usar o operador de bits | (OU/OR sobre bits) da linguagem JavaQuantidade de visualizações: 6371 vezes |
O operador de bits | (OU/OR 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 PELO MENOS UM (ou ambos) dos bits nos dois outros valores foram 1. Em caso contrário os bits são configurados como 0 (no caso em que ambos os bits correspondentes estão configurados como 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 ---- 0101 Veja que o resultado é 0101. 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/OR // 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 00000101 (5) |
![]() |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
Delphi - Como converter strings em valores TDateTime usando as funções StrToDate() e StrToDateDef() do Delphi |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |