Рассмотрим следующие два условия, включающие побитовые сравнения в VBScript:
If 1 And 3 Then WScript.Echo "yes" Else WScript.Echo "no"
If Not(1 And 3) Then WScript.Echo "yes" Else WScript.Echo "no"
Я думаю, что вывод должен быть:
yes
no
Но на самом деле вывод:
yes
yes
Подождите секунду, оператор Not
должен выполнять логическое отрицание выражения. Насколько я знаю, логическое отрицание true
равно false
. Должен ли я сделать вывод, что он не соответствует этому обещанию? Как и почему и что здесь происходит? Каково обоснование, если таковое имеется?