int x1 = 20, x2 = 15;
System.out.println(x1 & x2);
System.out.println(x1 | x2);
Alguem sabe porque o resultado disso é:
4
31
Abracos…[/code]
int x1 = 20, x2 = 15;
System.out.println(x1 & x2);
System.out.println(x1 | x2);
Alguem sabe porque o resultado disso é:
4
31
Abracos…[/code]
Olha este operador relacional que voce esta usando é do tipo binario. O que ele deve estar fazendo é comparando os valores em binario.
E se voce for usar em && e || dará um erro de operador! Voce deve usar variavies tipo booleanas para fazer estas comparações Espero tedo ajudado.
Se não posta ai de novo.
tipow eu quero saber pq quando eu uso isso ele da os valores informados acima.
A resposta é:
Operador bit à bit And
Quando os operadores são numeros, a operação & realiza uma operação bit à bit utilizando o AND em cada par de bits nos operandos.
0 + 0 = 0
0 + 1 = 0
1 + 0 = 0
1 + 1 = 1
package fother;
public class DemoOperadorBinarioAnd {
public static void main (String[] args) {
int op1 = 25; // 011001
int op2 = 40; // 101000
int r = op1 & op2; // 001000
System.out.println("r = " + r); // r = 8
}
}
Operador bit à bit Or
Quando os operadores são numeros, a operação | realiza uma operação bit à bit utilizando o OR em cada par de bits nos operandos.
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 1
package fother;
public class DemoOperadorBinarioOr {
public static void main (String[] args) {
int op1 = 25; // 011001
int op2 = 40; // 101000
int r = op1 | op2; //111001
System.out.println("r = " + r); // r = 57
}
}
Espero ter ajudado.