Arduino Programming Language: BitwiseXorNot

Name

~ (Bitwise NOT)

Description

The bitwise NOT operator is the tilde character ~. Unlike & and |, the bitwise NOT operator is applied to a single operand to its right. Bitwise NOT changes each bit to its opposite: 0 becomes 1, and 1 becomes 0.

Syntax

~expression

Parameters

  • expression: any valid expression

Returns

 One's complement of an expression

Usage

Application

Note

You might be surprised to see a negative number. This is because the highest bit in an int variable is the so-called sign bit. If the highest bit is 1, the number is interpreted as negative. This encoding of positive and negative numbers is referred to as two's complement.

Examples

0 1 operand1
-------
1 0 ~ operand1

int a = 103; // binary: 0000000001100111
int b = ~a; // binary: 1111111110011000 = -104


Based on the reference originally written by Arduino Community,  wiring.org.co and  arduino.cc