Agora vem a pergunta: Que diabos é a operação XOR?
XOR (exclusive OR) é uma operação binária que verifica se os valores dos bits são inversos um do outro, dando resultado 1 caso isso seja verdadeiro e 0, caso o contrário.
A melhor maneira de se entender é através da tabela verdade:
A | B | XOR |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
Então, se você precisa, em programação, que somente uma das condições seja verdadeira, é muito mais fácil usar esta operação, do que esta aqui:
(A && !B) || (!A && B)
Exemplo: O cadastro é válido, somente se a pessoa for do sexo feminino e ela não tem reservista ou se tem reservista e não for do sexo feminino:
if (pessoa.isFeminino() ^ pessoa.hasReservista()) {
...
}
Obs.: Vixe..., eu acho que mais compliquei que expliquei... Mas, com o tempo, a gente pega prática. ;)
Até mais!
Nenhum comentário:
Postar um comentário