Оператор логического отрицания

В VBScript логический оператор отрицания NOT работает несколько по-другому, нежели во встроенном языке IWS.



Оператор NOT в VBScript


В VBScript оператор NOT инвертирует биты численного значения, создавая добавочное число аналогично используемой компьютером системы знаковых чисел. Ниже приведена таблица, иллюстрирующая поведение оператора NOT в VBScript по синтаксису result = NOT expression.


Выражение

Результат

-3

2

-2

1

-1

0

0

-1

1

-2

2

-3

3

-4


Заметим: По умолчанию, при попытке записи любого ненулевого численного значения в логический тег, значению тега автоматически присваивается единица. Поэтому применяемый к логическому тегу со значением 1 оператор NOT не изменяет его значение на 0: оператор возвращает значение -2, которое воспринимается логическим тегом опять как 1 (поскольку оно не равно 0).

Можно настроить среду IWS для работы с логическими тегами, как с логическими переменными в VBScript, так что оператор NOT будет выполняться так, как это ожидается. Для дополнительной информации см. Логические теги и логические переменные.



Оператор NOT во встроенном языке


В противовес описанному, оператор логического отрицания встроенного языка изменяет значение на противоположное так, как если он работал с классическим булевским числом. Ниже приведена таблица, иллюстрирующая поведение оператора NOT во встроенном языке по синтаксису result = NOT expression.


Выражение

Результат

0

1

<>0

0



Created with the Freeware Edition of HelpNDoc: Free PDF documentation generator