~ (Opérateur "bit à bit" NON)

Description

L'opérateur "bit à bit" NON en langage C++ est le caractère ~. A la différence de & (ET bit à bit) et de | (OU bit à bit), l'opérateur bit à bit NON est appliqué à une seule expression numérique entière à sa droite. L'opérateur "bit à bit" NON change chaque bit en son opposé : 0 devient 1 et 1 devient 0. Ainsi :

0 1 opérande1 ---- 1 0 ~ opérande1 - résultat retourné par l'opérateur NON bit à bit

Syntaxe

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

Vous pourriez être étonné de voir un nombre négatif tel que -104 comme résultat de l'opération. Ceci est du au bit de poids fort à l'intérieur de la variable de type int, aussi appelé "bit de signe". Si le bit de poids fort est à 1, le nombre est interprété comme négatif. Cet façon de coder les nombres positifs et négatifs est appelée "Second complément". Pour plus d'information, voir l'article wikipédia sur le "two's complement".

Au passage, il est intéressant de noter que pour tout entier x, ~x est le même que -x-1.

On comprendra également que de temps en temps, le signe de bit des expressions entières peut donner des surprises inattendues.

ARDUINO BUY RECOMMENDATION

Arduino UNO R3
Arduino Starter Kit
Disclosure: Some links in this section are Amazon affiliate links. If you make a purchase through these links, we may earn a commission at no extra cost to you.
Additionally, some links direct to products from our own brand, DIYables.

※ OUR MESSAGES