[Resolvido]Porta lógica xor?

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Resolvido [Resolvido]Porta lógica xor?

Mensagem por Carlos L. em Sex 29 Out 2010, 21:43

Eu estava lendo um pouco sobre lógica boleana no site do baixaki.
http://www.baixaki.com.br/info/1527-logica-booleana-saiba-um-pouco-mais-sobre-esta-logica-e-como-ela-funciona.htm
E lá tinha falando sobre not, and, or e uma última xor fui ver se ela pegava no Game maker e ela pegou.
O que eu queria saber e se alguem sabe como ela se aplica no GM ou em outra linguagem. Question


OBS.: Não sabia onde postar, se eu postei no lugar errado peço desculpas.


Última edição por Carlos L. em Sab 30 Out 2010, 18:09, editado 1 vez(es)

Carlos L.

Ranking : Nota C
Número de Mensagens : 270
Data de inscrição : 26/09/2010
Notas recebidas : C
Reputação : 8
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Porta lógica xor?

Mensagem por Gabreel em Sex 29 Out 2010, 21:45

pra mim também é novidade O_O

No PHP eu não sei de nada disso..

Deve ter algo relacionado ao or

Gabreel

Número de Mensagens : 2227
Idade : 20
Data de inscrição : 02/10/2009
Reputação : 52
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Porta lógica xor?

Mensagem por Carlos L. em Sex 29 Out 2010, 21:50

Eu encontrei o seguinte artigo no site da yoyogames, e pra falar a verdade não entendi nada.
Será que alguém poderia explicar.



Quando algo de programação como computacionalmente caro como um jogo de vídeo, geralmente é desejável para usar como variáveis possíveis. A este respeito, é possível, embora nem sempre benéfica, para trocar o valor de duas variáveis sem usar um buffer e usar apenas algumas chamadas xor simples. Note-se que no Game Maker ou mais em qualquer um processador moderno pode muito bem simplesmente usar um buffer como xor troca provavelmente será mais lento (devido ao aumento de condutas paralelas), no entanto, este artigo pode fornecer algumas dicas aos programadores a a aplicação prática das operações de bit a bit.

Para trocar duas variáveis usando XOR podemos usar o algoritmo em pseudo-código a seguir:

var a, b; um some_value =; some_value = b / / swap 'a' e 'b' a = a ^ b, b = a ^ b; a = a ^ b;
Prova de conceito: Xor ambas partes das propriedades de grupos abelianos e é sua própria inversa. Isto torna possível a troca de duas variáveis usando xor apenas chamadas enquanto as duas variáveis de entrada não apontam para o mesmo endereço de memória, caso em que os dados serão perdidos. (Isso significa que você não pode xor swap uma variável com ela, que é um resultado direto da operação de xor sendo sua própria inversa.) Observe também que este código pode ser usado somente se ambas as variáveis armazenam o mesmo tipo de dados de base.

Traduzi este arquivo com o tradutor do google.
http://wiki.yoyogames.com/index.php/XOR_Swap_Algorithm

Carlos L.

Ranking : Nota C
Número de Mensagens : 270
Data de inscrição : 26/09/2010
Notas recebidas : C
Reputação : 8
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Porta lógica xor?

Mensagem por Gabreel em Sex 29 Out 2010, 22:01

Hm, já vi usar "^"

Creio que sirva para trocar o valor de duas variáveis, ou melhor, inverter.

Esperamos que alguem ue realmente saiba nos explicar, eu estou muito curioso

Gabreel

Número de Mensagens : 2227
Idade : 20
Data de inscrição : 02/10/2009
Reputação : 52
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Porta lógica xor?

Mensagem por itallo em Sab 30 Out 2010, 13:24

creio eu que seja:

se B = 1 ou A = 0 ///usando o OR-E

se B= 1 xor A = 0////
//SÓ IRÁ funcionar quando B for igual a 0 e A for igual a 1
{}
///só vai funcionar quando B for diferente de A
///um for true e outro for false.

da para usar esse esquema para fazer o player andar e pular.

if keyboard_check(vk_space)
{
nochao = false
}

if nochao = true xor andando = true
{
vspeed = -4
}

é o que eu entendi.

itallo

Ranking : Sem avaliações
Número de Mensagens : 969
Idade : 24
Data de inscrição : 26/08/2009
Reputação : 12
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   :
   :

http://www.zuluhotel.com.br

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Porta lógica xor?

Mensagem por Fuzenrad em Sab 30 Out 2010, 13:46

and - 'e', executa somente se todas as condições forem verdadeiras;

nand - 'e invertido', só não executa se todas as condições forem verdadeiras;

or - 'ou', executa quando uma ou mais condições forem verdadeiras;

nor - 'ou invertido', executa quando todas as condições forem falsas;

xor - 'ou exclusivo', executa somente quando apenas uma condição for verdadeira;

xnor - 'ou exclusivo invertido', executa se todas as condições forem verdadeiras ou falsas.

Fuzenrad

Ranking : Nota A
Número de Mensagens : 1026
Idade : 26
Data de inscrição : 04/07/2010
Notas recebidas : A-A-A-A-B
Reputação : 41
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 1

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Porta lógica xor?

Mensagem por Henrique-HB em Sab 30 Out 2010, 13:51

Sendo simples e direto.

Dados:
nome = "Jose"
idade = 15

Código:
if(nome=="Jose" xor idade==15)
Retorna falso

Código:
if(nome=="Henrique" xor idade==15)
Retorna verdadeiro

Código:
if(nome=="Jose" xor idade==27)
Retorna verdadeiro
-=-=-

Ou seja, duas condições, uma ou outra tem que ser verdadeira, as duas não.


flw...........

Henrique-HB

Número de Mensagens : 114
Data de inscrição : 23/06/2008
Reputação : 6
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Porta lógica xor?

Mensagem por Carlos L. em Sab 30 Out 2010, 14:45

Deixa eu ver se eu entendi.
Eu tenho duas condições sendo que para funcionar com o xor basta uma ser verdadeira para executar o código.

EX.:
Código:

var A, E;
A=true;
E=true;

if (A=true xor E=false)//como uma das condições e verdadeira e o suficiente para executar o código.

Valeu pelas respostas.

Carlos L.

Ranking : Nota C
Número de Mensagens : 270
Data de inscrição : 26/09/2010
Notas recebidas : C
Reputação : 8
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Porta lógica xor?

Mensagem por Henrique-HB em Sab 30 Out 2010, 15:39

Carlos L. escreveu:Deixa eu ver se eu entendi.
Eu tenho duas condições sendo que para funcionar com o xor basta uma ser verdadeira para executar o código.

EX.:
Código:

var A, E;
A=true;
E=true;

if (A=true xor E=false)//como uma das condições e verdadeira e o suficiente para executar o código.

Valeu pelas respostas.

Por ai, realmente se uma das condições for verdadeira ele executa o código, o detalhe é que se AS DUAS FOREM ele não executa. O xor indica que APENAS UMA das condições deve ser verdadeira para continuar a execução.


flw....

Henrique-HB

Número de Mensagens : 114
Data de inscrição : 23/06/2008
Reputação : 6
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Porta lógica xor?

Mensagem por Carlos L. em Sab 30 Out 2010, 18:09

Ta beleza já da pra te uma idéia obrigado pelas respostas.

Carlos L.

Ranking : Nota C
Número de Mensagens : 270
Data de inscrição : 26/09/2010
Notas recebidas : C
Reputação : 8
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Porta lógica xor?

Mensagem por Conteúdo patrocinado Hoje à(s) 00:26


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum