Cosa fanno le funzioni logiche IMP ed EQV in VB6?Qualcuno ha trovato un utilizzo reale per loro?
-
06-09-2019 - |
Soluzione
IMP è "implicazione materiale" "a implica b" o "se a allora b", che equivale a NOT a OR b.EQV è "equivalenza" o "se e solo se", quindi a EQV b è uguale a (a IMP b) AND (b IMP a).
Sono arrivati lì perché qualcuno voleva essere completo.Possono abbreviare alcune espressioni logiche, ma puoi sempre esprimere la stessa cosa con NOT e AND, NOT e OR o solo con XOR.
Altri suggerimenti
Ecco la tabella della verità per tutti gli operatori, sia per booleano che per bit. Il momento migliore per usarli è quando mappini la tua logica e ti rendi conto di avere una funzione che richiede due input e ha le stesse uscite di quegli operatori :)
------------------------------------------------------------------------------------------------------------------
|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 |
------------------------------------------------------------------------------------------------------------------
IIRC, entrambi eseguono un po 'un po'! Xor sui due input e restituiscono il risultato.
Non sono presenti in nessuna delle basi di codice .NET (a meno che non si conti la libreria di livello di compatibilità VB6), quindi dovrebbero essere considerati deprecati e quindi ignorati.
Dalla parte superiore della mia testa non posso dire perché li ho mai usati.