Что делают логические функции IMP и EQV в VB6? Кто -нибудь нашел для них реальное использование?
-
06-09-2019 - |
Решение
IMP - это «материальное значение», «подразумевает B» или «если A Then B», что эквивалентно не A или B. EQV - это «эквивалентность» или «если и только тогда, если», поэтому EQV B такой же, как (AIM -IMP B) и (B IMP A).
Они попали туда, потому что кто -то хотел быть завершенным. Они могут сократить некоторые логические выражения, но вы всегда можете выразить одно и то же, не с чем и, а не и или, или только с XOR.
Другие советы
Вот таблица правды для всех операторов, как для логического, так и для бить. Лучшее время для их использования - это когда вы сопоставляете свою логику и понимаете, что у вас есть функция, которая принимает два входа, и имеет те же выходы, что и у тех операторов :)
------------------------------------------------------------------------------------------------------------------
|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, они оба выполняют немного! XOR на двух входах и возвращают результат.
Они не присутствуют ни в одной из базой кода .NET (если вы не считаете библиотеку совместимости VB6), поэтому следует считать устаревшим и поэтому игнорируется.
Вверх, я не могу сказать, когда я когда -либо их использовал.