Programar em C++/Operadores: diferenças entre revisões
[edição verificada] | [edição verificada] |
Conteúdo apagado Conteúdo adicionado
Sem resumo de edição |
|||
Linha 111:
</source>
== Operadores lógicos bit a bit==
Existem operadores que nos permitem fazer operações lógicas,
Se tivermos que operar os números hexadecimais: "1A2C" e "2B34" podemos fazê-lo da seguinte forma:
Linha 127:
// Va & Vb = 0000 1010 0010 0100 logo 0A24
cout << hex << Vc << endl; // Isto mostrará na saída: "a24" que corresponde a operação "E" dos dois números.
Vc = Va | Vb; // Executaremos Va "OU" Vb
// Va | Vb = 0011 1011 0011 1100 logo 3B3C
cout << hex << Vc << endl; // Isto mostrará na saída: "3b3c" que corresponde a operação "OU" dos dois números.
Vc = Va ^ Vb; // Executaremos Va "OU exclusivo" Vb
// Va ^ Vb = 0011 0001 0001 1000 logo 3118
cout << hex << Vc << endl; // Isto mostrará na saída: "3118" que corresponde a operação "OU exclusivo" dos dois números.
Vc = ~Va; // Executaremos "Não bit a bit" ou "complemento" de Va
// Va ^ Vb = 1110 0101 1101 0011 logo E5D3
cout << hex << Vc << endl; // Isto mostrará na saída: "e5d3" que corresponde a operação "complemento" de Va.
</source>
Observe que convertemos, nos comentários, os números para binário a fim de facilitar a visualização de cada operação feita bit a bit. De forma simples o resultado é obtido e convertemos na saída o número para o formato hexadecimal, apenas para facilitar a visualização.
{{Indentar/fim}}
|