This documentation is archived and is not being maintained.

Bitwise NOT Operator (~)

Performs a bitwise NOT (negation) on an expression.

~ expression


Any numeric expression.


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.

When the ~ operator acts on an operand of an integral data type, it performs no coercion and returns a value of the same data type as the operand. When the operand is of a non-integral data type, the value is coerced to type int before the operation is performed, and the return value of the operator is of type int.


Version 1

See Also

Logical NOT Operator (!) | Operator Precedence | Operator Summary