|

~ (NON au niveau du bit)


Description :

L’opérateur bit à bit NOT en C++ est le caractère tilde ~. Contrairement à & et |, l’opérateur bit à bit NOT s’applique à un seul opérande à sa droite. L’opérateur bit à bit NOT transforme chaque bit en son opposé : 0 devient 1 et 1 devient 0.

En d’autres termes :

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

Exemple de code :

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

Remarques et avertissements :

Vous pourriez être surpris de voir un nombre négatif comme -104 comme résultat de cette opération. En effet, le bit de poids fort d’une variable int est ce qu’on appelle le bit de signe. Si le bit de poids fort est 1, le nombre est interprété comme négatif. Ce codage des nombres positifs et négatifs est appelé complément à deux. Pour plus d’informations, consultez l’article Wikipédia sur le complément à deux.

Par ailleurs, il est intéressant de noter que pour tout entier x, ~x est égal à -x – 1.

Parfois, le bit de signe d’une expression d’entier signé peut entraîner des surprises.


Source : https://docs.arduino.cc/language-reference/en/structure/bitwise-operators/bitwiseNot/

Publications similaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *