sobre - ¿Qué hacen las funciones lógicas IMP y EQV en VB6? ¿Alguien ha encontrado un uso del mundo real para ellos?
IIRC, ambos realizan un XOR a nivel de bit en las dos entradas y devuelven el resultado.
No están presentes en ninguna de las bases de código .Net (a menos que cuente la biblioteca de capas de compatibilidad VB6), por lo que se deben considerar obsoletas y, por lo tanto, ignoradas.
Fuera de mi cabeza, no puedo decir que los haya usado alguna vez.
IMP es "implicación material" "a implica b" o "si a, entonces b", que es equivalente a NO a O b. EQV es "equivalencia" o "si y solo si", por lo que un EQV b es el mismo que (un IMP b) AND (b IMP a).
Llegaron allí porque alguien quería estar completo. Pueden acortar algunas expresiones lógicas, pero siempre puedes expresar lo mismo con NOT y AND, NOT y OR, o solo con XOR.
Aquí está la tabla de verdad para todos los operadores, tanto para booleanos como para bit a bit. El mejor momento para usarlos es cuando mapea su lógica y se da cuenta de que tiene una función que toma dos entradas y tiene los mismos resultados que esos operadores :)
------------------------------------------------------------------------------------------------------------------
|AND | | | |OR | | | |XOR | | | |IMP | | | |EQV | | |
------------------------------------------------------------------------------------------------------------------
|In1 |In2 |Out1 | |In1 |In2 |Out1 | |In1 |In2 |Out1 | |In1 |In2 |Out1 | |In1 |In2 |Out1 |
------------------------------------------------------------------------------------------------------------------
|False|False|False| |False|False|False| |False|False|False| |False|False|True | |False|False|True |
------------------------------------------------------------------------------------------------------------------
|False|True |False| |False|True |True | |False|True |True | |False|True |True | |False|True |False|
------------------------------------------------------------------------------------------------------------------
|False|Null |False| |False|Null |Null | |False|Null |Null | |False|Null |True | |False|Null |Null |
------------------------------------------------------------------------------------------------------------------
|True |False|False| |True |False|True | |True |False|True | |True |False|False| |True |False|False|
------------------------------------------------------------------------------------------------------------------
|True |True |True | |True |True |True | |True |True |False| |True |True |True | |True |True |True |
------------------------------------------------------------------------------------------------------------------
|True |Null |Null | |True |Null |True | |True |Null |Null | |True |Null |Null | |True |Null |Null |
------------------------------------------------------------------------------------------------------------------
|Null |False|False| |Null |False|Null | |Null |False|Null | |Null |False|Null | |Null |False|Null |
------------------------------------------------------------------------------------------------------------------
|Null |True |Null | |Null |True |True | |Null |True |Null | |Null |True |True | |Null |True |Null |
------------------------------------------------------------------------------------------------------------------
|Null |Null |Null | |Null |Null |Null | |Null |Null |Null | |Null |Null |Null | |Null |Null |Null |
------------------------------------------------------------------------------------------------------------------
| | | | | | | | | | | | | | | | | | | |
------------------------------------------------------------------------------------------------------------------
|In1 |In2 |Out1 | |In1 |In2 |Out1 | |In1 |In2 |Out1 | |In1 |In2 |Out1 | |In1 |In2 |Out1 |
------------------------------------------------------------------------------------------------------------------
|001 |001 |001 | |001 |001 |001 | |001 |001 |000 | |001 |001 |111 | |001 |001 |111 |
------------------------------------------------------------------------------------------------------------------
|001 |010 |000 | |001 |010 |011 | |001 |010 |011 | |001 |010 |110 | |001 |010 |100 |
------------------------------------------------------------------------------------------------------------------
|001 |011 |001 | |001 |011 |011 | |001 |011 |010 | |001 |011 |111 | |001 |011 |101 |
------------------------------------------------------------------------------------------------------------------
|001 |100 |000 | |001 |100 |101 | |001 |100 |101 | |001 |100 |110 | |001 |100 |010 |
------------------------------------------------------------------------------------------------------------------
|010 |001 |000 | |010 |001 |011 | |010 |001 |011 | |010 |001 |101 | |010 |001 |100 |
------------------------------------------------------------------------------------------------------------------
|010 |010 |010 | |010 |010 |010 | |010 |010 |000 | |010 |010 |111 | |010 |010 |111 |
------------------------------------------------------------------------------------------------------------------
|010 |011 |010 | |010 |011 |011 | |010 |011 |001 | |010 |011 |111 | |010 |011 |110 |
------------------------------------------------------------------------------------------------------------------
|010 |100 |000 | |010 |100 |110 | |010 |100 |110 | |010 |100 |101 | |010 |100 |001 |
------------------------------------------------------------------------------------------------------------------
|011 |001 |001 | |011 |001 |011 | |011 |001 |010 | |011 |001 |101 | |011 |001 |101 |
------------------------------------------------------------------------------------------------------------------
|011 |010 |010 | |011 |010 |011 | |011 |010 |001 | |011 |010 |110 | |011 |010 |110 |
------------------------------------------------------------------------------------------------------------------
|011 |011 |011 | |011 |011 |011 | |011 |011 |000 | |011 |011 |111 | |011 |011 |111 |
------------------------------------------------------------------------------------------------------------------
|011 |100 |000 | |011 |100 |111 | |011 |100 |111 | |011 |100 |100 | |011 |100 |000 |
------------------------------------------------------------------------------------------------------------------