O que as funções lógicas imp e eqv fazem no VB6? Alguém encontrou um uso do mundo real para eles?

StackOverflow https://stackoverflow.com/questions/927119

  •  06-09-2019
  •  | 
  •  

Pergunta

And, Or, Xor e Not Eu entendo. O que eu não entendo são Imp e Eqv. O que eles querem dizer? Como eles entraram lá? Existe algum uso real para eles?

Foi útil?

Solução

Imp é "implicação material" "a implica b" ou "se a então b", o que é equivalente a não a ou b. A eqv é "equivalência" ou "se e somente se", portanto, a Eqv B é a mesma que (A Imp B) e (B Imp A).

Eles chegaram lá porque alguém queria estar completo. Eles podem reduzir algumas expressões lógicas, mas você sempre pode expressar a mesma coisa com não e, não e ou ou, ou com XOR sozinho.

Outras dicas

Aqui está a tabela de verdade para todos os operadores, tanto para boolean quanto para bit. O melhor momento para usá -los é quando você mapeia sua lógica e percebe que tem uma função que leva duas entradas e tem as mesmas saídas que esses 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  |
------------------------------------------------------------------------------------------------------------------

IIRC, ambos têm um desempenho um pouco bit! Xor nas duas entradas e retornam o resultado.

Eles não estão presentes em nenhuma base do código .NET (a menos que você conte a biblioteca da camada de compatibilidade do VB6), portanto, deve ser considerado depreciado e, portanto, ignorado.

No topo da minha cabeça, não posso dizer como já os usei.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top