Autor Tema: ayuda con una funcion en c++  (Leído 4905 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Mandrak3

  • The Communiter-
  • *
  • Mensajes: 1144
ayuda con una funcion en c++
« : junio 05, 2007, 09:52:39 am »
nescesito ayuda, si alguien me puede explicar como funciona la funcion XOR que se representa por ^ en c++. lo he visto en un programa de encriptado, y han ocupado esrta funcion pero no se como funciona. he busacado en internet pero no entiendo.

Desconectado rcguillen

  • -^- Elite Silver -^-
  • The Communiter-
  • *
  • Mensajes: 2320
Re: ayuda con una funcion en c++
« Respuesta #1 : junio 05, 2007, 10:08:09 am »
en otros lenguajes de programacion viene siendo un operador logico aqui esta algo :

    * AND CONJUNCIÓN cierto si ambos son ciertos CC = C CF = F FC = F FF = F
    * OR DISYUNCIÓN cierto si a o b es cierto CC = C CF = C FC = C FF = F
    * XOR EXCLUSION cierto si a o b es falso CC = F CF = C FC = C FF = F
    * EQV EQUIVALENCIA cierto si ab ciertos o falsos CC = C CF = F FC = F FF = C
    * IMP IMPLICACIÓN si a o b cierto pero no b falso CC = C CF = F FC = C FF = C

pero realmente no se si asi aplica para c++
-:Rcguillen-NoMercy:-
-:Es inutil hacer cualquier cosa a prueba de tontos, porque los tontos son muy ingeniosos:-

Desconectado NoeL

  • Administrator
  • The Communiter-
  • *
  • Mensajes: 3257
    • SvCommunity
Re: ayuda con una funcion en c++
« Respuesta #2 : junio 05, 2007, 10:29:48 am »
Que ondas masin, mira esta onda no es una funcion si no mas bien un operador de los llamados Operadores de manejo de Bits, estas ondas se utilizan mucho en el campo de la electronica su funcionamiento se basa en lo siguiente, C++ interpreta en forma de bits los dos valores que vos pones entre el operador, pero antes del ejemplo te pondre como opera el operador (valga la redundancia) de forma general:

Si tenemos

0 y 0 el resultado sera -->0
0 y 1 el resultado sera -->1
1 y 0 el resultado sera -->1
1 y 1 el resultado sera -->0

ahora vamos al ejemplo:



     7   Equivale a-->  0000 0111

    -2  Equivale a-->  1111 1110

                         -----------------

                             1111 1001   == -7

Si haces las respectivas operaciones Verticales de las equivalencias de 7 y -2 en bits te dara el resultado y ese resultado lo podes convertir a sistema Decimal y te dara -7 de esa manera funciona, solo decirte tambien que esta onda respeta las regla asociativa ¿Que es esto? como en matematica de 4º grado asi:

si tenes que operar

0 ^ 1 ^ 0 la operacion de 0 con 1 dara 1 y este resultado lo operas con 0 y dara como resultado 1 eso es todo suerte man



Desconectado Mandrak3

  • The Communiter-
  • *
  • Mensajes: 1144
Re: ayuda con una funcion en c++
« Respuesta #3 : junio 05, 2007, 11:19:21 am »
gracias por las respuestas.  :thumbsup: :thumbsup: