/** * Bitwise and Bit Shift Operators * * Constantes: move 1bit para casa determinada após '<<' x * * Varival i: Recebe uma operaçao OU das constantes pedidas; * A - 001 * B - 010 * C - 100 (Operacao OU) * _________ * Resp: 111 (i = 111 (ou 7 decimal)) * * Verificacao das constantes dentro da variavel: * - Realiza uma operaçao AND entre a variavel e a constante, se o valor * for diferente de 0, contem a constante dentro da variaval: * * Exemplo caso i = A|C; * i - 101 * C - 100 (Operacao AND) * _______ * Resp: 100 (valor != de 0, entra na condiçao (ou 4 dec)) * * Exemplo caso i = A|C; * i - 101 * B - 010 (Operacao AND) * _______ * Resp: 000 (valor == de 0, nao entra na condiçao) * * @author Guilherme Biff Zarelli e Guilherme Alves Silveira */ public class teste2 { public static final int A = 1 << 1; public static final int B = 1 << 2; public static final int C = 1 << 3; public static void main(String[] args) { //ATRIBUICAO DAS CONSTANTES NA VARIAVAL: int i = A | C | B; System.out.println(i);//VALOR DA OPERACAO OU //VERIFICAÇAO DAS CONSTANTES DENTRO DA VARIAVEL: if ((i & A) != 0) { System.out.println("CONTEM CONSTANTE A"); } if ((i & B) != 0) { System.out.println("CONTEM CONSTANTE B"); } if ((i & C) != 0) { System.out.println("CONTEM CONSTANTE C"); } } }
http://docs.oracle.com/javase/tutorial/java/nutsandbolts/op3.html
Java – Bitwise and Bit Shift Operators