logo

Opérateurs au niveau du bit en C++

Il existe différents opérateurs présents en C++. Chaque Opérateur possède un symbole particulier ainsi qu'une Opération à réaliser. Nous avons différentes catégories d’opérateurs en C++.

  1. Opérateurs arithmétiques
  2. Opérateurs relationnels
  3. Opérateurs logiques
  4. Opérateurs d'affectation
  5. Opérateurs au niveau du bit

Dans cet article, nous découvrirons les opérateurs bit à bit en C++.



Opérateurs au niveau du bit C++

Les opérateurs au niveau du bit sont les opérateurs utilisés pour effectuer des opérations au niveau des bits sur les entiers. Lors de l'exécution de cette opération, les entiers sont considérés comme des séquences de chiffres binaires. En C++, nous avons différents types d’opérateurs bit à bit.

  1. ET au niveau du bit (&)
  2. OU au niveau du bit (|)
  3. XOR au niveau du bit (^)
  4. Au niveau du bit NON (~)
  5. Maj gauche (<<)
  6. Maj droite (>>)

1. ET au niveau du bit (&)

L'opération ET au niveau du bit est effectuée entre deux entiers, elle comparera chaque bit sur la même position et le bit résultat sera défini (1) uniquement et seulement si les deux bits correspondants sont définis (1). Le symbole utilisé pour effectuer l’opération ET au niveau du bit est &.

Exemple : nous effectuerons une opération Bitwise entre deux nombres 7 et 4. En binaire, 7 sera représenté par 111 et 4 sera représenté par 100.

 1 1 1 & 1 0 0  ------  1 0 0>

comme nous pouvons le voir dans l'exemple ci-dessus, seuls les bits sont des bits définis dont les bits correspondants (les deux) sont définis. Donc 7&4=4

convertir un caractère en chaîne java

2. OU au niveau du bit (|)

Si l'opération OR au niveau du bit est effectuée entre deux entiers, elle comparera chaque bit sur la même position et le bit de résultat sera défini (1) si l'un des bits correspondants est défini (1). Le symbole utilisé pour effectuer une opération OU au niveau du bit est |.

Exemple: nous effectuerons une opération OU au niveau du bit entre deux nombres 7 et 4. en binaire, 7 sera représenté par 111 et 4 sera représenté par 100.

 1 1 1 | 1 0 0  ------  1 1 1>

comme nous pouvons le voir dans l'exemple ci-dessus, ces bits sont des bits définis dont au moins un bit correspondant est défini. Donc 7|4=7.

3. XOR au niveau du bit (^)

Si l'opération XOR au niveau du bit est effectuée entre deux entiers, elle comparera chaque bit sur la même position et le bit de résultat sera défini (1) si l'un des bits correspondants diffère, c'est-à-dire que l'un d'eux doit être 1 et l'autre doit être zéro. Le symbole utilisé pour effectuer une opération XOR au niveau du bit est ^.

Exemple: nous effectuerons une opération XOR au niveau du bit entre deux nombres 7 et 4. en binaire, 7 sera représenté par 111 et 4 sera représenté par 100.

 1 1 1 ^ 1 0 0  ------  0 1 1>

comme nous pouvons le voir dans l'exemple ci-dessus, ces bits sont des bits définis dont les bits correspondants sont différents. Donc 7^4=3.

c++ entier en chaîne

4. Bitwise PAS (~)

L’opération Bitwise NOT est effectuée sur un seul numéro. Il change le bit actuel en son complément, c'est-à-dire que si le bit actuel est 0 alors le résultat sera 1 et si le bit actuel est 1 alors il deviendra 0. Il est désigné par le symbole ~.

Exemple: Nous effectuerons une opération NOT au niveau du bit sur le numéro 4. Le nombre 4 est représenté par 100 en binaire.

~ 1 0 0  ------  0 1 1>

Comme nous pouvons le voir en résultat, les bits dont la valeur initiale était 1 sont 0 en résultat et vice-versa. Par conséquent, Bitwise NOT du numéro 4 sera 3.

la vérification Java est nulle

5. Maj gauche (<<)

Cet opérateur décale les bits d'Integer vers la gauche d'un nombre spécifique (comme mentionné). Cette opération de décalage vers la gauche équivaut à multiplier l'entier par 2 puissance nombre de positions décalées. Le symbole utilisé pour représenter l'opérateur de décalage gauche est <<.

Exemple: Considérons que nous avons un entier 5, et nous allons décaler ses bits de 2 positions vers la gauche. L'opération sera représentée par x << 2.

Le nombre 5 est représenté par 101 en binaire. Nous ajouterons quelques zéros au début pour décaler les bits vers la gauche. Par conséquent, il sera représenté par 00000101. Maintenant, nous allons déplacer tous les bits de deux positions vers la gauche et nous remplirons les positions vides avec 0. Par conséquent, cela deviendra 00010100, ce qui correspond à 20. Comme mentionné précédemment, décaler le nombre à gauche de deux bits signifie le multiplier par 2 élevé à 2, soit 4. 5*4 = 20 montre la déclaration mentionnée ci-dessus.

6.Maj droit (>>)

Cet opérateur décale les bits d'Integer vers la droite par un nombre spécifique (comme mentionné). Cette opération de décalage vers la droite équivaut à diviser le nombre entier par 2 puissance nombre de positions décalées. Le symbole utilisé pour représenter l'opérateur de décalage gauche est>>.

longueur de la chaîne java

Exemple: Considérons que nous avons un entier 16 et que nous décalerons ses bits de 2 positions vers la droite. L'opération sera représentée par x>> 2.

Le nombre 16 est représenté par 10000 en binaire. Nous ajouterons quelques zéros au début pour décaler les bits vers la droite. Par conséquent, il sera représenté par 00010000. Maintenant, nous allons déplacer tous les bits de deux positions vers la droite et nous remplirons les positions vides avec 0. Par conséquent, cela deviendra 00000100, ce qui correspond à 4. Comme mentionné précédemment, décaler le nombre de deux bits vers la droite signifie le diviser par 2 élevé à 2, soit 4. 16*4 = 4 montre la déclaration mentionnée ci-dessus.

Opérateurs au niveau du bit du programme C++

Ci-dessous la mise en œuvre du sujet :

C++
// C++ Program to demonstrate // Bitwise Operator #include  using namespace std; // Main function int main()  b;  // Bitwise XOR  int bitwise_xor = a ^ b;  // Bitwise NOT  int bitwise_not = ~a;  // Bitwise Left Shift  int left_shift = a << 2;  // Bitwise Right Shift  int right_shift = a>> 1 ;  // Impression des résultats de // Les opérateurs bit à bit cout<< 'AND: ' << bitwise_and << endl;  cout << 'OR: ' << bitwise_or << endl;  cout << 'XOR: ' << bitwise_xor << endl;  cout << 'NOT a: ' << bitwise_not << endl;  cout << 'Left Shift: ' << left_shift << endl;  cout << 'Right Shift: ' << right_shift << endl;  return 0;>

Sortir:

AND: 1 OR: 7 XOR: 6 NOT a: -6 Left Shift: 20 Right Shift: 2>

Conclusion

En conclusion, les opérateurs au niveau du bit sont utilisés pour effectuer des opérations au niveau binaire (bit). Nous avons différents types d'opérateurs au niveau du bit tels que les opérateurs AND, OR, XOR, NOT, left shift et right shift en C++. Grâce à ces opérations, la manipulation de bits individuels peut être effectuée de manière très précise, ce qui est essentiel dans le traitement des données de bas niveau.