Manuel de suivi dynamique Solaris

Opérateurs de bit

D propose les opérateurs binaires suivants pour manipuler les bits individuels dans les opérandes entiers. Ces opérateurs ont tous la même signification qu'en ANSI-C.

Tableau 2–9 Opérateurs de bit en langage D

&

Opérateur de bit AND 

|

Opérateur de bit OR 

^

Opérateur de bit XOR 

<<

Permet de décaler l'opérande gauche vers la gauche du nombre de bits spécifié par l'opérande droit 

>>

Permet de décaler l'opérande gauche vers la droite du nombre de bits spécifié par l'opérande droit 

L'opérateur binaire & permet d'effacer les bits à partir d'un opérande entier. L'opérateur binaire | permet de définir des bits dans un opérande entier. L'opérateur binaire ^ renvoie 1 à chaque position de bit à laquelle précisément un des bits d'opérande correspondant est défini.

Les décalages d'opérateurs permettent de déplacer des bits vers la gauche ou la droite dans un opérande entier donné. Le décalage à gauche remplit les emplacements de bit vides sur le côté droit du résultat avec des zéros. Le décalage à droite à l'aide d'un opérande entier non signé remplit les emplacements de bit vides à gauche du résultat avec des zéros. Le décalage à droite à l'aide d'un opérande entier signé remplit les emplacements de bit vides à gauche de la valeur du bit de signe. Cette opération s'appelle également un décalage arithmétique.

Le décalage d'une valeur entière par un nombre de bits négatif ou plus grand que le nombre de bits contenu dans l'opérande gauche lui-même crée un résultat non défini. Le compilateur D produit un message d'erreur s'il peut détecter cette condition lors de la compilation de votre programme en D.

Outre les opérateurs logiques binaires, vous pouvez également utiliser l'opérateur unaire ! pour exécuter une négation de bit sur un seul opérande : il convertit chaque bit 0 de l'opérande en bit 1 et chaque bit 1 de l'opérande en bit 0.