NOT logical operator
- Last UpdatedOct 29, 2026
- 1 minute read
The logical operator NOT behaves differently in VBScript than it does in the built-in scripting language.
NOT Operator in VBScript
In VBScript, the NOT operator inverts the bits of a given numeric value, producing its complement number according to the "two's complement" system of signed numbers that is used by computers. The table below illustrates the behavior of the NOT operator in VBScript for the syntax…
result = NOT expression
|
If expression is… |
Then result is… |
|---|---|
|
-3 |
2 |
|
-2 |
1 |
|
-1 |
0 |
|
0 |
-1 |
|
1 |
-2 |
|
2 |
-3 |
|
3 |
-4 |
Notes
By default, when you attempt to write any numeric value other than 0 to a Boolean tag, the tag automatically assumes a value of 1. Therefore, if VBScript's NOT operator is applied to a Boolean tag with a value of 1, then the value of the tag does not change; the operator returns a value of -2, but the tag cannot accept this value so it again assumes a value of 1.
You can configure AVEVA Edge to handle Boolean tags like Boolean variables in VBScript, so that the NOT operator in VBScript will work as expected. For more information, see How Boolean tags are handled in VBScript.
NOT Operator in Built-in Language
In contrast, the NOT operator in the Built-in Scripting Language toggles the given numeric value as if it is a natural boolean. The table below illustrates the behavior of the NOT operator in the Built-in Scripting Language for the syntax…
result = NOT expression
|
If expression is… |
Then result is… |
|---|---|
|
0 |
1 |
|
≠0 |
0 |