Exemplo 1:
Vamos examinar um programa C# que demonstra o uso do operador XOR (^) para determinar a salubridade de um alimento com base no fato de ele ser vegetariano ou conter carne. A primeira linha “usando System;” é uma declaração de namespace que permite ao programa acessar as classes e funções definidas no namespace “Sistema” que contém os tipos fundamentais e a funcionalidade principal do C#. O código define uma classe pública chamada “Dummy”.
A palavra-chave public especifica que a classe pode ser acessada de outras partes do programa. Dentro da classe “Dummy”, existe um método estático chamado “Main”. O método “Main” usa um array de strings (string[] args) como parâmetro que permite passar os argumentos da linha de comando para o programa.
Dentro do método “Main”, três variáveis booleanas são declaradas e inicializadas: “isVeg” é definido como verdadeiro que indica se o alimento é vegetariano, “isMeat” é definido como falso que indica se o alimento contém carne, “IsFit” é declarado e atribuído com o resultado da operação XOR (isVeg ^ isMeat) que determina a salubridade do alimento com base em seu status vegetariano e conteúdo de carne.
A linha Console.WriteLine gera o resultado da verificação de integridade usando a interpolação de string. O valor de “isFit” é exibido dentro da string que indica se o alimento é considerado saudável ou não.
usando o sistema ;
manequim de classe pública {
público estático vazio Principal ( corda [ ] argumentos )
{
bool éVeg = verdadeiro ;
bool éMeat = falso ;
bool isFit = éVeg ^ isMeat ;
Console. WriteLine ( $ 'A comida é saudável?: {isFit}' ) ;
}
}
Para resumir, este código mostra o conceito de lógica booleana em C# e como o operador XOR pode ser usado para determinar o XOR lógico de duas variáveis booleanas e avaliar a salubridade dos alimentos com base no fato de serem vegetarianos ou de carne.
Exemplo 2:
Vamos demonstrar o uso do operador XOR em C# por meio de outro exemplo de código. Realizaremos uma operação XOR bit a bit em duas variáveis inteiras (n1 e n2). O código começa com “usando Sistema;” instrução que importa o namespace “System” para permitir o uso de classes definidas no namespace “System”, como a classe “Console”.
O código define uma classe chamada “Check” usando a sintaxe “public class check”. Esta classe contém um único método que é “Mai”. A função main() usa a matriz de string “args” como um parâmetro que pode ser utilizado para passar os valores da linha de comando para o programa de código.
Dentro do método Main(), duas variáveis inteiras, “n1” e “n2”, são declaradas e inicializadas com os valores 17 e 8, respectivamente. O valor “n1” tem uma representação binária de 10001, o que significa que é igual ao decimal 17, e o valor “n2” tem uma representação binária de 1000, o que significa que é igual ao decimal 8.
O “int Res = n1 ^ n2;” line calcula o resultado da operação XOR entre “n1” e “n2” usando o operador XOR (^). O resultado é mantido no mutável “Res”. A operação XOR é aplicada às representações binárias de “n1” e “n2”. Ele compara cada bit correspondente das representações binárias e define o bit resultante como 1 se os bits forem diferentes e 0 se os bits forem iguais.
Realizando a operação XOR, obtemos o resultado binário de 11001 que é igual ao decimal 25. O Console.WriteLine($”Result: {Res}”); linha imprime o resultado da operação XOR no console. O método Console.WriteLine é usado para exibir a string “Result:” seguida pelo valor da variável “Res”. A sintaxe {$”Result: {Res}”} é chamada de interpolação de string, que nos permite incorporar o valor da variável “Res” diretamente na string.
usando o sistema ;verificação de classe pública {
público estático vazio Principal ( corda [ ] argumentos )
{
interno n1 = 17 ; //10001
interno n2 = 8 ; // 1000
interno Res. = n1 ^ n2 ;
Console. WriteLine ( $ 'Resultado: {Res}' ) ;
}
}
A tela do console de saída mostrada na imagem a seguir exibe o resultado “25” obtido pelo uso da operação XOR entre 17 e 8:
Exemplo 3:
Vamos para o último exemplo deste artigo que determina o uso do operador XOR em C#. O seguinte trecho de código anexado começa com “using System;” instrução que está importando o namespace “System”.
A seguir, uma classe pública chamada “Test” é declarada. Esta classe é considerada o ponto de partida aqui e também cobre o método main(). Dentro do método “Main()”, realizamos a operação XOR nos valores dos caracteres. Duas variáveis “char”, “L1” e “L2”, são declaradas e atribuídas com os valores “M” e “R”, respectivamente.
Essas variáveis representam os personagens. Outra variável “char” chamada “Res” é declarada e atribuída com o resultado da operação XOR entre “L1” e “L2”. A operação XOR é executada através do operador XOR “^”.
Como o operador XOR funciona com valores inteiros, a conversão (char) é usada para converter o valor inteiro resultante de volta em um caractere. A instrução Console.WriteLine é descartada para imprimir o resultado. Ele usa a interpolação de string (`$`) para incluir o valor de “Res” na saída.
Quando o programa é executado, o método main() é chamado e a seguinte saída é exibida no console. Neste caso, a operação XOR entre os caracteres “M” e “R” resulta no “?” ou '.' personagem. O caractere resultante é impresso como parte da saída.
usando o sistema ;Teste de classe pública {
público estático vazio Principal ( corda [ ] argumentos )
{
Caracteres L1 = 'M' ;
Caracteres L2 = 'R' ;
Caracteres Res. = ( Caracteres ) ( L1 ^ L2 ) ;
Console. WriteLine ( $ 'Resultado: {Res}' ) ;
}
}
Essa é uma explicação detalhada do código fornecido anteriormente. Ele mostra que o operador XOR é usado para realizar uma operação Bitwise XOR em valores de caracteres e imprimir o resultado conforme exibido na seguinte imagem anexada:
Conclusão
O operador C# XOR fornece uma ferramenta flexível para realizar operações lógicas e bit a bit. Ele permite trabalhar com bits binários e expressar as condições únicas na lógica booleana. Usando os exemplos de código, discutimos como o operador XOR pode ser aplicado a valores booleanos, valores inteiros e valores de caracteres para obter a saída desejada. Usando o operador XOR corretamente, você pode aprimorar suas habilidades como programador C#.