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: 6445 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: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- 0101 0100 ---- 0101 Veja que o resultado é 0101. Vamos ver isso em Java agora. Observe o seguinte trecho de código: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
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 |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






