Bitwise NOT Operator (~)

Microsoft Office JScript

Microsoft® JScript® ~ Operator  Language Reference 
Version 1 

See Also


Description
Performs a bitwise NOT (negation) on an expression.
Syntax
result = ~ expression

The ~ operator syntax has these parts:

Part Description
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. The result of this operation behaves as follows:

0101    (expression)
----
1010    (result)
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.