Programar em C++/Operadores: diferenças entre revisões

[edição verificada][edição verificada]
Conteúdo apagado Conteúdo adicionado
Linha 142:
// Va ^ Vb = 1110 0101 1101 0011 logo E5D3
 
cout << hex << (Vc & 0xFFFF) << endl; // Isto mostrará na saída: "e5d3" que corresponde a operação "complemento" de Va.
 
 
Linha 148:
 
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.
 
Devemos observar o detalhe da última operação com mais critério, vejam que quando fomos mostrar o resultado da mesma tivemos que efetuar a operação (Vc & 0xFFFF), isto se deve ao fato de que ao operar o número armado em "Va" o compilador poderá ver o número 1A2C como 00001A2C, ou 0000000000001A2C, ou outros valores, dependendo do tamanho do tipo int gerado pela máquina a qual se destina a compilação. Neste caso o resultado da operação seria acrescida de FFFF no início do número do resultado. Portanto se fizermos a operação (Vc & 0xFFFF) eliminamos os números FFFF ou FFFFFFFFFFFF do início.
 
{{Indentar/fim}}