Bitwise NOT Operator (~) (Windows Scripting - JScript)
Performs a bitwise NOT (negation) on an expression.
Syntax
result = ~ expression
Arguments
result
Any variable.expression
Any expression.
Remarks
All unary operators, such as the ~ operator, evaluate expressions as follows:
If applied to undefined or null expressions, a run-time error is raised.
Objects are converted to strings.
Strings are converted to numbers if possible. If not, a run-time error is raised.
Boolean values are treated as numbers (0 if false, 1 if true).
The operator is applied to the resulting number.
The ~ operator looks at the binary representation of the values of the expression and does a bitwise negation operation on it.
Any digit that is a 1 in the expression becomes a 0 in the result. Any digit that is a 0 in the expression becomes a 1 in the result.
The following example illustrates use of the bitwise NOT (~) operator.
var temp = ~5;
The resulting value is -6, as shown in the following table.
Expression |
Binary value (two's complement) |
Decimal value |
---|---|---|
5 |
00000000 00000000 00000000 00000101 |
5 |
~5 |
11111111 11111111 11111111 11111010 |
-6 |
Requirements
Change History
Date |
History |
Reason |
---|---|---|
September 2009 |
Modified example. |
Content bug fix. |
See Also
Logical NOT Operator (!) (Windows Scripting - JScript)
Operator Precedence (Windows Scripting - JScript)
Operator Summary (Windows Scripting - JScript)