Description :
L’opérateur de décalage vers la droite >>
provoque les bits de l’opérande gauche à décaler vers la droite par le nombre de positions spécifiées par l’opérande droit.
Syntaxe :
variable >> number_of_bits;
Paramètres :
Exemple de code :
Remarques et avertissements :
Lorsque vous décalez x vers la droite de y bits (x >> y) et que le bit le plus élevé de x est un 1, le comportement dépend du type de données exact de x. Si x est de type int, le bit le plus élevé est le bit de signe, déterminant si x est négatif ou non, comme nous l’avons vu ci-dessus. Dans ce cas, le bit de signe est copié dans les bits inférieurs, pour des raisons historiques ésotériques :
Ce comportement, appelé extension de signe, n’est souvent pas le comportement souhaité. Au lieu de cela, vous souhaiterez peut-être que les zéros soient décalés à partir de la gauche. Il s’avère que les règles de décalage à droite sont différentes pour les expressions int non signées, vous pouvez donc utiliser un transtypage pour supprimer celles qui sont copiées à partir de la gauche :
Si vous faites attention à éviter l’extension de signe, vous pouvez utiliser l’opérateur de décalage vers la droite >>
comme moyen de diviser par des puissances de 2. Par exemple :
Source : https://www.arduino.cc/reference/en/language/structure/bitwise-operators/bitshiftright/