~ (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 :
Syntaxe
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 |