Ou exclusivo: diferenças entre revisões
m EOU é o oposto disso. Trata-se de e/ou (ou inclusivo) Etiquetas: Editor Visual Edição via dispositivo móvel Edição feita através do sítio móvel |
|||
(Há 14 revisões intermédias de 11 utilizadores que não estão a ser apresentadas) | |||
Linha 1: | Linha 1: | ||
{{Wikificação|data=fevereiro de 2012}} |
{{Wikificação|data=fevereiro de 2012}} |
||
'''Ou exclusivo''' ou '''disjunção exclusiva''' |
'''Ou exclusivo''' ou '''disjunção exclusiva''' é uma [[Lógica|operação lógica]] entre dois operandos que resulta em um [[Valor de verdade|valor lógico verdadeiro]] [[se e somente se]] os dois operandos forem diferentes, ou seja, se um for verdadeiro e o outro for falso. É conhecido também pelas abreviações '''''XOR''''' ou '''''EXOR''''' ({{lang-en|''exclusive or''}}) e ainda por '''XOU''' ou '''EXOU'''. |
||
== Definição == |
== Definição == |
||
Linha 62: | Linha 62: | ||
: <math>\begin{matrix} |
: <math>\begin{matrix} |
||
p \oplus q & = & (p \land \lnot q) & \lor & (\lnot p \land q) \\ |
p \oplus q & = & (p \land \lnot q) & \lor & (\lnot p \land q) \\ |
||
& = & ((p \land \lnot q) \lor \lnot p) & \ |
& = & ((p \land \lnot q) \lor \lnot p) & \land & ((p \land \lnot q) \lor q) \\ |
||
& = & ((p \lor \lnot p) \land (\lnot q \lor \lnot p)) & \land & ((p \lor q) \land (\lnot q \lor q)) \\ |
& = & ((p \lor \lnot p) \land (\lnot q \lor \lnot p)) & \land & ((p \lor q) \land (\lnot q \lor q)) \\ |
||
& = & (\lnot p \lor \lnot q) & \land & (p \lor q) \\ |
& = & (\lnot p \lor \lnot q) & \land & (p \lor q) \\ |
||
Linha 83: | Linha 83: | ||
''A função primária de um dos, etc, é enfatizar a indiferença de duas ou mais coisas ou cursos. Mas a função secundária é enfatizar a exclusividade mútua = um dos dois, mas não ambos.'' |
''A função primária de um dos, etc, é enfatizar a indiferença de duas ou mais coisas ou cursos. Mas a função secundária é enfatizar a exclusividade mútua = um dos dois, mas não ambos.'' |
||
Seguindo esta intuição de senso comum sobre "ou", às vezes é discutido que em muitas linguagens naturais, inclusive inglês, a palavra "ou" tem um sentido "exclusivo". A disjunção exclusiva de um par de proposições (p, q), deve significar que ''p'' é verdadeiro ou que ''q'' é verdadeiro, mas não ambos. Por exemplo, discute-se que a intenção normal de uma declaração como "Você pode tomar café ou chá" é para estipular que exatamente uma das |
Seguindo esta intuição de senso comum sobre "ou", às vezes é discutido que em muitas linguagens naturais, inclusive inglês, a palavra "ou" tem um sentido "exclusivo". A disjunção exclusiva de um par de proposições (p, q), deve significar que ''p'' é verdadeiro ou que ''q'' é verdadeiro, mas não ambos. Por exemplo, discute-se que a intenção normal de uma declaração como "Você pode tomar café ou chá" é para estipular que exatamente uma das condições pode ser verdadeira. Certamente em muitas circunstâncias, uma sentença como a desse exemplo deveria ser entendida como a proibição da possibilidade de alguém aceitar as duas opiniões. Mesmo assim, existe uma boa razão para supor que esse tipo de sentença não é disjuntiva. Se nós sabemos tudo sobre uma disjunção e ela é verdadeira, não podemos ter certeza de qual das proposições são verdadeiras. Por exemplo, se uma mulher soube que o amigo dela está ou na lanchonete ou na quadra de tênis, ela não pode validamente inferir que ele está na quadra de tênis. Mas se o garçom dela lhe diz que ela pode pedir café ou chá, ela pode validamente inferir que ela pode tomar chá. Nada classificadamente pensado como de uma disjunção tem essa propriedade. É tão óbvio que ela pode razoavelmente entender como se o garçom dela tivesse lhe negado a possibilidade de tomar ambos café e chá. |
||
Há ainda duas boas razões gerais para supor que palavra nenhuma em qualquer linguagem natural poderia adequadamente ser representada pelo exclusivo binário "ou" da lógica formal. Primeiro, o "ou" exclusivo n-ário é verdadeiro se e somente se este tenha um número ímpar de entradas verdadeiras. Mas parece que ainda que nenhuma palavra em alguma linguagem natural que possa juntar-se a uma lista de duas ou mais opções tem essa propriedade geral. Segundo, como apontado pela Barrett e Stenner em um artigo de 1971 "O Mito do 'Ou' |
Há ainda duas boas razões gerais para supor que palavra nenhuma em qualquer linguagem natural poderia adequadamente ser representada pelo exclusivo binário "ou" da lógica formal. Primeiro, o "ou" exclusivo n-ário é verdadeiro se e somente se este tenha um número ímpar de entradas verdadeiras. Mas parece que ainda que nenhuma palavra em alguma linguagem natural que possa juntar-se a uma lista de duas ou mais opções tem essa propriedade geral. Segundo, como apontado pela Barrett e Stenner em um artigo de 1971 "O Mito do 'Ou' exclusivo" (Mind, 80 (317), 116-121), nenhum autor produziu um exemplo de uma sentença na língua inglesa que parece ser falsa porque ambas de suas entradas são verdadeiras. Certamente há muitas sentenças como "A lâmpada está ligada ou desligada", na qual é óbvio que ambas disjunções não podem ser verdadeiras. Mas não é óbvio que isso se deve a natureza da palavra "ou" ao invés de fatos particulares sobre o mundo. |
||
== Propriedades == |
== Propriedades == |
||
Linha 136: | Linha 136: | ||
Na ciência da computação, a disjunção exclusiva tem vários usos, tais quais: |
Na ciência da computação, a disjunção exclusiva tem vários usos, tais quais: |
||
* dizer quando dois [[bits]] são diferentes |
* dizer quando dois [[bits]] são diferentes; |
||
* ele é um [[negação|circuito negador]]. ex: 1 0 0 1 xor 1 1 1 1 equivale a 0 1 1 0 |
* ele é um [[negação|circuito negador]]. ex: 1 0 0 1 xor 1 1 1 1 equivale a 0 1 1 0; |
||
* dizer se existe um número ímpar de bits 1s <math>(A \oplus B \oplus C \oplus D \oplus E)</math> é verdadeiro se um número ímpar de variáveis são verdadeiras). |
* dizer se existe um número ímpar de bits 1s <math>(A \oplus B \oplus C \oplus D \oplus E)</math> é verdadeiro se um número ímpar de variáveis são verdadeiras). |
||
Em circuitos lógicos, um somador pode ser implementado usando uma porta XOR para somar os números, e uma série de AND's, OR's e |
Em circuitos lógicos, um somador pode ser implementado usando uma porta XOR para somar os números, e uma série de AND's, OR's e NOT's para os carry's ("vai um") de saída. |
||
Em algumas arquiteturas de computadores, é mais eficiente armazenar um zero em um [[registrador]] realizando a operação XOR com ele mesmo, ao invés de carregar e armazenar o valor zero. |
Em algumas arquiteturas de computadores, é mais eficiente armazenar um zero em um [[registrador]] realizando a operação XOR com ele mesmo, ao invés de carregar e armazenar o valor zero. |
||
Linha 152: | Linha 152: | ||
E é baseado na reversibilidade da operação XOR que a técnica recupera os dados armazenados no disco de backup. |
E é baseado na reversibilidade da operação XOR que a técnica recupera os dados armazenados no disco de backup. |
||
O [[ |
O [[algoritmo XOR Swap]] usa a lógica do conectivo XOR a fim de trocar os valores numéricos de 2 variáveis. |
||
== Descrição do hardware == |
== Descrição do hardware == |
||
As portas XOR são portas lógicas básicas que são reconhecidas na [[Transistor-Transistor Logic|TTL]] e nos [[Circuito integrado|circuitos integrados]] [[CMOS]]. |
As portas XOR são portas lógicas básicas que são reconhecidas na [[Transistor-Transistor Logic|TTL]] e nos [[Circuito integrado|circuitos integrados]] [[CMOS]]. |
||
Existem |
Existem Circuitos Integrados que utilizam a lógica do XOR, sendo que esta mesma lógica pode ser expressa através dos circuitos [[Lógica NAND|NAND]], [[NOU (NOR)|NOR]] e [[Porta NOT|NOT]]. |
||
Abaixo temos um exemplo de um Circuito Integrado XOR, de duas entradas. |
Abaixo temos um exemplo de um Circuito Integrado XOR, de duas entradas. |
Edição atual tal como às 21h03min de 30 de março de 2023
Esta página ou se(c)ção precisa ser formatada para o padrão wiki. (Fevereiro de 2012) |
Ou exclusivo ou disjunção exclusiva é uma operação lógica entre dois operandos que resulta em um valor lógico verdadeiro se e somente se os dois operandos forem diferentes, ou seja, se um for verdadeiro e o outro for falso. É conhecido também pelas abreviações XOR ou EXOR (em inglês: exclusive or) e ainda por XOU ou EXOU.
Definição
[editar | editar código-fonte]A disjunção exclusiva (escrito como , , ou ainda ≠) é uma operação sobre dois ou mais valores lógicos, tipicamente os valores de duas proposições, que produz um valor verdadeiro apenas se a quantidade de operadores verdadeiros for ímpar.
Tabela de Verdade
[editar | editar código-fonte]A tabela de verdade para p XOR q de duas entradas é a seguinte:
Tabela-verdade da função XOR | ||
Entradas | Saída | |
---|---|---|
A | B | S |
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
Símbolo | ||
Outras portas | ||
AND - OR - NOT - NOR - NAND - XOR - XNOR |
p | q | |
---|---|---|
F | F | F |
F | V | V |
V | F | V |
V | V | F |
Equivalências, eliminação, e introdução
[editar | editar código-fonte]As seguintes equivalências podem ser deduzidas, escritas com operadores lógicos, na notação matemática:
o Valor do XOR é verdadeiro quando o números de 1's é ímpar.
A disjunção exclusiva pode ser expressa em termos da conjunção , da disjunção , e da negação , como segue:
A disjunção exclusiva também pode ser expressa da seguinte maneira:
Esta representação do XOR pode ser útil para a construção de um circuito ou uma rede, porque ela possui um único operador de negação e um pequeno número de operadores OR e AND. Como é mostrado abaixo:
Às vezes também é útil escrever p XOR q da seguinte maneira:
Esta equivalência pode ser estabelecida aplicando a Lei de De Morgan duas vezes na quarta linha da prova acima.
O XOR também equivale a negação do bicondicional lógico.
'Ou exclusivo' na linguagem natural
[editar | editar código-fonte]O Oxford English Dictionary explica "um dos dois...ou", como segue:
A função primária de um dos, etc, é enfatizar a indiferença de duas ou mais coisas ou cursos. Mas a função secundária é enfatizar a exclusividade mútua = um dos dois, mas não ambos.
Seguindo esta intuição de senso comum sobre "ou", às vezes é discutido que em muitas linguagens naturais, inclusive inglês, a palavra "ou" tem um sentido "exclusivo". A disjunção exclusiva de um par de proposições (p, q), deve significar que p é verdadeiro ou que q é verdadeiro, mas não ambos. Por exemplo, discute-se que a intenção normal de uma declaração como "Você pode tomar café ou chá" é para estipular que exatamente uma das condições pode ser verdadeira. Certamente em muitas circunstâncias, uma sentença como a desse exemplo deveria ser entendida como a proibição da possibilidade de alguém aceitar as duas opiniões. Mesmo assim, existe uma boa razão para supor que esse tipo de sentença não é disjuntiva. Se nós sabemos tudo sobre uma disjunção e ela é verdadeira, não podemos ter certeza de qual das proposições são verdadeiras. Por exemplo, se uma mulher soube que o amigo dela está ou na lanchonete ou na quadra de tênis, ela não pode validamente inferir que ele está na quadra de tênis. Mas se o garçom dela lhe diz que ela pode pedir café ou chá, ela pode validamente inferir que ela pode tomar chá. Nada classificadamente pensado como de uma disjunção tem essa propriedade. É tão óbvio que ela pode razoavelmente entender como se o garçom dela tivesse lhe negado a possibilidade de tomar ambos café e chá.
Há ainda duas boas razões gerais para supor que palavra nenhuma em qualquer linguagem natural poderia adequadamente ser representada pelo exclusivo binário "ou" da lógica formal. Primeiro, o "ou" exclusivo n-ário é verdadeiro se e somente se este tenha um número ímpar de entradas verdadeiras. Mas parece que ainda que nenhuma palavra em alguma linguagem natural que possa juntar-se a uma lista de duas ou mais opções tem essa propriedade geral. Segundo, como apontado pela Barrett e Stenner em um artigo de 1971 "O Mito do 'Ou' exclusivo" (Mind, 80 (317), 116-121), nenhum autor produziu um exemplo de uma sentença na língua inglesa que parece ser falsa porque ambas de suas entradas são verdadeiras. Certamente há muitas sentenças como "A lâmpada está ligada ou desligada", na qual é óbvio que ambas disjunções não podem ser verdadeiras. Mas não é óbvio que isso se deve a natureza da palavra "ou" ao invés de fatos particulares sobre o mundo.
Propriedades
[editar | editar código-fonte]Esta seção usa os seguintes símbolos:
As seguintes equações seguem dos axiomas lógicos:
Associatividade e Comutatividade
[editar | editar código-fonte]A "Ou Exclusivo" (XOR) goza das propriedades da associatividade e comutatividade. Vide o exemplo:
Ou exclusivo na ciência da computação
[editar | editar código-fonte]Operação Bitwise
[editar | editar código-fonte]Bitwise XOR é simplesmente uma operação XOR "bit a bit" sobre dois valores binários que indica "1", se e somente se um dos bits possuír valor lógico "1", e "0", se dois ou mais bits possuírem "1" como valor lógico, ou ainda se todos os bits possuírem "0" como valor lógico.
Na ciência da computação, a disjunção exclusiva tem vários usos, tais quais:
- dizer quando dois bits são diferentes;
- ele é um circuito negador. ex: 1 0 0 1 xor 1 1 1 1 equivale a 0 1 1 0;
- dizer se existe um número ímpar de bits 1s é verdadeiro se um número ímpar de variáveis são verdadeiras).
Em circuitos lógicos, um somador pode ser implementado usando uma porta XOR para somar os números, e uma série de AND's, OR's e NOT's para os carry's ("vai um") de saída.
Em algumas arquiteturas de computadores, é mais eficiente armazenar um zero em um registrador realizando a operação XOR com ele mesmo, ao invés de carregar e armazenar o valor zero.
O XOR também é usado para misturar funções na criptografia, como por exemplo no One-time Pad.
O XOR também tem sua utilidade na segurança da informação armazenada em discos rígidos. A técnica RAID 3-6 usa o conceito lógico do operador XOR para em caso de falha em um dos discos, os dados sejam reconstituídos aplicando XOR ao dado armazenado no disco de backup. Pode-se dizer que o XOR realiza uma operação reversível, pois se aplicarmos e reaplicarmos o XOR no resultado com o mesmo B, teremos A, como vemos a seguir:
E é baseado na reversibilidade da operação XOR que a técnica recupera os dados armazenados no disco de backup.
O algoritmo XOR Swap usa a lógica do conectivo XOR a fim de trocar os valores numéricos de 2 variáveis.
Descrição do hardware
[editar | editar código-fonte]As portas XOR são portas lógicas básicas que são reconhecidas na TTL e nos circuitos integrados CMOS.
Existem Circuitos Integrados que utilizam a lógica do XOR, sendo que esta mesma lógica pode ser expressa através dos circuitos NAND, NOR e NOT.
Abaixo temos um exemplo de um Circuito Integrado XOR, de duas entradas.