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, sãoos elesmais básicos são os operadores "&" e, "|" , "^" e "~", que são respectivamente correspondentes às operações lógicas "E", "OU", "OU exclusivo" e "Não bit a bit". Vejamos como podemos operar números usando-os:
 
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.
cout << hex << Vc;
 
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}}