This page is Ready to Use

Notice: The WebPlatform project, supported by various stewards between 2012 and 2015, has been discontinued. This site is now available on github.

bitwise not


Performs a bitwise NOT (negation) on an expression.


result = ~ expression
Any variable.
Any expression.


See Remarks for explanation

var temp = ~5;
//result is -6


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.

ExpressionBinary value (two’s complement)Decimal value
500000000 00000000 00000000 000001015
~511111111 11111111 11111111 11111010-6

See also

Other articles


  • Microsoft Developer Network: Article