Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: Goganpis en Abril 17, 2018, 02:03:52 PM

Título: Para que sirve el "xor" ???
Publicado por: Goganpis en Abril 17, 2018, 02:03:52 PM
Hola comunidad esta duda siempre la he tenido y como yo soy alguien que si no encuentra la respuesta la sigue buscando, para que sirve el "xor" me imagino que debe ser parecido al "or" pero me da flojera leerme todo un testamento en ingles ya que no hay informacion directa al tema.
Título: Re:Para que sirve el "xor" ???
Publicado por: Black_Cat en Abril 17, 2018, 02:29:21 PM
El xor se usa en muchos lenguajes y significa eXclusive OR o "O exclusivo" básicamente concatena dos expresiones lógicas y solo toma en cuenta cuando una y solo una de las dos se cumple.
En cambio en el OR normal se puede cumplir una o las dos.


Es como si se dijera en un XOR, o vas a la playa o bien vas a la montaña, no se pueden cumplir en ningun caso las 2 a la misma vez,
En cambio en el OR puede ocurrir las dos al mismo tiempo. Por ejemplo, voy con un amigo o voy solo al cine. Si va una bien, pero pueden ir las dos perfectamente.





Título: Re:Para que sirve el "xor" ???
Publicado por: Goganpis en Abril 17, 2018, 02:45:15 PM
Segun entendi es como un uso de varios if + else creo ya voy entendiendo  XD
Título: Re:Para que sirve el "xor" ???
Publicado por: Black_Cat en Abril 18, 2018, 03:00:23 AM
Pues, no realmente.

Supon estas 2 proposiciones: "hace frio" y "esta nevando". Un uso normal con OR sería:

if (hace_frio) or (esta_nevando){
     personaje.temblar()
}

Entonces el personaje temblaría independientemente de si hace frio o bien si está nevando, si ocurren las dos al mismo tiempo no hay problema.

Pero el XOR solo permite la veracidad de una sola proposicion a la vez.
Es como si le dijeras a un niño. "Qué quieres de regalo, una pelota o una patineta" la eleccion es exclusiva, elige una de las dos, porque ambas no se puede. Sale muy costoso.
Título: Re:Para que sirve el "xor" ???
Publicado por: Goganpis en Abril 18, 2018, 03:39:21 AM
Gracias Black_Cat por ello
Título: Re:Para que sirve el "xor" ???
Publicado por: Clamud en Abril 18, 2018, 12:12:22 PM
Normalmente utilizo xor para cambiar una variable de true a false y viceversa
[gml]
check = check xor true;
[/gml]
Es más compacto con xor a nivel bit
[gml]
check ^= 1;
[/gml]