– "&" – Porta Lógica AND
Tabela da Verdade:
A | B | A & B |
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
Código:
$a = 1;
$b = 0;
if($a & $b){
echo "Teste AND: true";
}else{
echo "Teste AND: false";
}
?>
Obs: Só será true se os valores de A e B forem 1
– "|" – Porta lógica OR
Tabela da Verdade:
A | B | A | B |
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 1 |
Código:
$a = 1;
$b = 0;
if($a | $b){
echo "Teste OR: true";
}else{
echo "Teste OR: false";
}
?>
Obs: Só será true se os valores de A ou B ou ambos for(em) 1
– "^" – Porta lógica XOR
Tabela da verdade:
A | B | A ^ B |
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
Código:
$a = 1;
$b = 0;
if($a ^ $b){
echo "Teste XOR: true";
}else{
echo "Teste XOR: false";
}
?>
Obs: Só será true se o valor de A for o contrário de B e vice e versa.
– "~" – Porta lógica NOT
Tabela da verdade:
A | ~A |
0 | 1 |
1 | 0 |
Obs: O negado é o inverso do valor de A.
– ">>" – Move os bits para a direita
$num = 8; //Em binario, 1000
$num = $num >> 2;
echo $num; //Aparecerá 2 que em binário = 0010
?>
– "<<" – Move os bits para a esquerda
$num = 2; //Em binario, 0010
$num = $num << 2;
echo $num; //Aparecerá 8 que em binário = 1000
?>