Earn More by Sharing What You Love
Do you create content for developers working with .NET, C#, Java, Python, or Node.js? Turn your expertise into extra income!

Tim Corey
9m 33s
Les opérateurs bitwise sont une partie essentielle de C# qui vous permet de manipuler des bits individuels d'un entier. Ces opérateurs sont extrêmement utiles pour la programmation de bas niveau, l'optimisation des performances et le travail avec des drapeaux. Dans cet article, nous allons approfondir la question du décalage de bits, en nous inspirant de la vidéo de Tim Corey Binaire en C# : Bit Shifting with Bitwise Shift Left and Bitwise Shift Right in 10 minutes or less.
Tim commence par poursuivre sa série sur la compréhension du binaire en C#. Cette leçon est la quatrième de la série et porte sur le déplacement de bits. L'objectif est de comprendre comment le déplacement des bits vers la gauche ou la droite affecte un nombre et comment nous pouvons utiliser cette technique dans la programmation.
Tim configure l'exemple en créant une méthode appelée ConvertToBinary, qui convertit un entier en sa représentation binaire et s'assure qu'il est affiché en format 8 bits. Il est ainsi plus facile de visualiser le fonctionnement du décalage de bits.
Tim introduit le concept du décalage binaire à gauche, en utilisant l'opérateur de décalage à gauche (<<). Il explique que décaler à gauche de n positions équivaut à multiplier le nombre par 2^n.
Par exemple, il commence par le chiffre 9 qui, en binaire, correspond à :
0000100100001001Lorsqu'il le décale vers la gauche de trois places (9 << 3), il en résulte :
01001000&H48Cette nouvelle valeur binaire représente 72. Tim souligne que décaler à gauche ajoute essentiellement trois zéros à droite, multipliant ainsi le nombre par 2 trois fois (c'est-à-dire 9 * 2^3 = 72).
Tim explique que s'il est utile de déplacer un nombre existant, la pratique la plus courante consiste à déplacer le chiffre 1 à une position spécifique. Par exemple :
1 << 31 << 3Le bit passe ainsi en quatrième position, ce qui donne :
00001000&H00001000Ce nombre binaire est égal à 8. Tim souligne que cette technique est particulièrement utile lorsque l'on travaille avec des bitmasks ou des drapeaux.
Ensuite, Tim explique le décalage binaire à droite en utilisant l'opérateur de décalage à droite (>>). Le décalage à droite de n positions équivaut à diviser le nombre par 2^n et à éliminer tout reste.
En utilisant l'exemple précédent, le nombre 9 en binaire (00001001) décalé vers la droite de deux places (9 >> 2) donne :
00000010&H00000010Ce chiffre est égal à 2. Tim explique que le décalage vers la droite a pour effet d'enlever des bits à la droite, ce qui réduit la valeur du nombre.
Tim explique pourquoi le décalage de bits est utile en programmation. Voici quelques-uns des principaux cas d'utilisation :
Optimisation des calculs : les décalages de bits peuvent remplacer la multiplication et la division par des puissances de deux, ce qui accélère les opérations.
Définir et effacer des bits spécifiques : dans les énumérations basées sur des drapeaux, le décalage de bits permet de stocker et de manipuler efficacement les valeurs booléennes.
Travail avec le matériel : De nombreuses opérations matérielles de bas niveau reposent sur des manipulations bit à bit.
Tim conclut en soulignant que le déplacement de bits est souvent utilisé en combinaison avec d'autres opérations. Comprendre comment déplacer des bits de manière efficace peut conduire à un code plus efficace et optimisé, en particulier dans les scénarios impliquant des drapeaux, des calculs binaires et des applications critiques en termes de performances.
En suivant les explications de Tim Corey, nous avons exploré le fonctionnement des décalages de bits vers la gauche et vers la droite, leur influence sur les nombres et les endroits où ils sont couramment utilisés. Si vous souhaitez une démonstration visuelle et approfondie, la vidéo de Tim est une excellente ressource pour maîtriser les opérations bitwise en C#.
Do you create content for developers working with .NET, C#, Java, Python, or Node.js? Turn your expertise into extra income!
Join our newsletter, you’ll get exclusive access on article updates. We value your privacy