logo

Opérateurs de décalage en C

Cette section abordera les opérateurs de décalage au niveau du bit dans le langage de programmation c. L'opérateur de décalage au niveau du bit est utilisé pour décaler les bits binaires vers la gauche ou vers la droite selon les exigences du programme.

Opérateurs de décalage en C

Les opérateurs de décalage sont classés en deux types en fonction de la position de décalage des bits.

  1. Opérateur de décalage gauche
  2. Opérateur de quart de droite

Opérateur de décalage gauche

L'opérateur de décalage vers la gauche est un type d'opérateur de décalage au niveau du bit, qui effectue des opérations sur les bits binaires. Il s'agit d'un opérateur binaire qui nécessite deux opérandes pour décaler ou déplacer la position des bits vers la gauche et ajouter des zéros à l'espace vide créé sur le côté droit après le décalage des bits.

Syntaxe

 var_name << no_of_position 

Dans la syntaxe ci-dessus, var_name représente le nom de variable entier sur lequel le décalage gauche (<<) operation is to be performed shift the binary bits at left side. and no_of_position variable represents number of placed or shifted in other words, operator shifts first operand on side by defined second operand.< p>

Par exemple, la valeur de la variable entière num est 22 et sa forme binaire est 10110. Nous utilisons maintenant l'opérateur de décalage vers la gauche pour décaler les bits binaires de 2, le num = num << 2 est égal au num = num * (2 ^2). Et la nouvelle valeur de num est 22* (2 ^ 2) = 88, ce qui est égal à la forme binaire 1011000.

Exemple 1 : Programme pour démontrer l'utilisation de l'opérateur Left Shift en C

java fin de la boucle
 #include int main () { // declare local variable int num; printf (&apos; Enter a positive number: &apos;); scanf (&apos; %d&apos;, &amp;num); // use left shift operator to shift the bits num = (num &lt;&lt; 2); // It shifts two bits at the left side printf (&apos; 
 After shifting the binary bits to the left side. &apos;); printf (&apos; 
 The new value of the variable num = %d&apos;, num); return 0; } 

Sortir

 Enter a positive number: 25 After shifting the binary bits to the left side. The new value of the variable num = 100 

Exemple 2 : Programme pour utiliser l'opérateur Left Shift dans les données int non signées du C

 #include int main () { // declare local variable unsigned int num = 0xff; // use left shift operator to shift the bits num = (num &lt;&lt; 2); printf (&apos; 
 After shifting the binary bits to the left side. &apos;); printf (&apos; 
 The new value of the unsigned variable num = %d&apos;, num); return 0; } 

Sortir

 After shifting the binary bits to the left side. The new value of the unsigned variable num = 1020 

Exemple 3 : Programme pour saisir le nombre positif de l'utilisateur pour effectuer l'opérateur de décalage vers la gauche

 #include int main () { // declare local variable int num, bit; printf (&apos; Enter a positive number: &apos;); scanf (&apos; %d&apos;, &amp;num); printf (&apos; No. of binary bits shifted to the left side: &apos;); scanf (&apos; %d&apos;, &amp;bit); // use left shift operator to shift the bits num = (num &lt;&lt; bit); printf (&apos; 
 After shifting the bits to the left side. &apos;); printf (&apos; 
 The new value of the num = %d&apos;, num); return 0; } 

Sortir

 Enter a positive number: 40 No. of binary bits shifted to the left side: 4 After shifting the bits to the left side. The new value of the num = 640 

Dans l'exemple ci-dessus, le bit binaire du nombre positif 40 défini par l'utilisateur est 101 000. Après cela, nous prenons 4 comme nombre pour décaler les bits binaires sur le côté gauche. Et puis, l'opérateur de décalage vers la gauche décale 4 bits binaires sur le côté gauche, puis un espace est créé sur le côté droit, qui est rempli ou ajouté par 4 zéros sur le côté droit qui renvoie la valeur binaire 1010000000, ce qui équivaut à le nombre décimal 640.

Opérateur de décalage à droite

L'opérateur de décalage à droite est un type d'opérateur de décalage au niveau du bit utilisé pour déplacer les bits sur le côté droit, et il est représenté par le symbole de double flèche (>>). Comme l'opérateur de décalage à gauche, l'opérateur de décalage à droite nécessite également deux opérandes pour décaler les bits sur le côté droit, puis insérer les zéros dans l'espace vide créé sur le côté gauche après le décalage des bits.

Syntaxe

 var_name &gt;&gt; no_of_position 

Dans la syntaxe ci-dessus, var_name représente la variable entière sur laquelle l'opération de décalage vers la droite (>>) doit être effectuée pour décaler les bits binaires sur le côté droit. Et la variable no_of_position représente le nombre de bits à placer ou à décaler vers la droite. En d'autres termes, l'opérateur de décalage vers la droite décale les bits binaires du premier opérande vers la droite en définissant le nombre total de bits vers le deuxième opérande.

Exemple 1 : Programme pour démontrer l'utilisation de l'opérateur Right Shift en C

 #include int main () { // declare local variable int num; printf (&apos; Enter a positive number: &apos;); scanf (&apos; %d&apos;, &amp;num); // use right shift operator to shift the bits num = (num &gt;&gt; 2); // It shifts two bits at the right side printf (&apos; 
 After shifting the binary bits to the right side. &apos;); printf (&apos; 
 The new value of the variable num = %d&apos;, num); return 0; } 

Sortir

 Enter a positive number: 25 After shifting the binary bits to the right side. The new value of the variable num = 6 

Exemple 2 : Programme pour utiliser l'opérateur Right Shift dans les données int non signées du C

 #include int main () { // declare local variable unsigned int num = 0xff; // use right shift operator to shift the bits num = (num &gt;&gt; 2); printf (&apos; 
 After shifting the binary bits to the right side. &apos;); printf (&apos; 
 The new value of the unsigned variable num = %d&apos;, num); return 0; } 

Sortir

 After shifting the binary bits to the right side. The new value of the unsigned variable num = 63 

Exemple 3 : Programme pour saisir le nombre positif de l'utilisateur pour effectuer l'opérateur de décalage vers la droite

lecture à partir d'un fichier csv en java
 #include int main () { // declare local variable int num, bit; printf (&apos; Enter a positive number: &apos;); scanf (&apos; %d&apos;, &amp;num); printf (&apos; No. of binary bits shifted to the right side: &apos;); scanf (&apos; %d&apos;, &amp;bit); // use right shift operator to shift the bits num = (num &gt;&gt; bit); printf (&apos; 
 After using the right shift operator to shift the bits at the right side. &apos;); printf (&apos; 
 New value of the num = %d&apos;, num); return 0; } 

Sortir

 Enter a positive number: 40 No. of binary bits shifted to the right side: 4 After using the right shift operator to shift the bits to the right. The new value of the num = 2