Opérateurs au niveau du bit en langage C

Bitwise Operators C Language



Les opérateurs au niveau du bit, souvent appelés codage au niveau du bit, ont été abandonnés pour interpréter les données uniquement au niveau du bit. Bitwise effectue des opérations sur un ou même des modèles de bits supplémentaires et des nombres binaires au niveau du bit. Ceux-ci ont été utilisés pour accélérer la progression de l'estimation des calculs numériques. Il se compose de deux nombres, dont l'un est 0 et l'autre est 1. Voici quelques opérateurs au niveau du bit dont nous discuterons dans notre article.

Connectez-vous à partir de votre système Linux et essayez le raccourci Ctrl+Alt+T pour ouvrir le terminal de la console. Nous aurons quelques exemples pour élaborer sur les opérations des opérateurs au niveau du bit dans le langage C. Détaillons séparément chaque opérateur au niveau du bit.







ET au niveau du bit :

L'opérateur au niveau du bit a été utilisé pour répliquer un bit sur le résultat si ce bit est présent dans les deux opérandes mutuels. C ou C++ nécessite 2 opérandes qui effectuent ET sur chaque bit de ces deux entiers. ET au niveau du bit aboutit à 1 lorsque les deux bits ont une valeur de 1. Ainsi, pour comprendre le fonctionnement, créez et ouvrez un fichier de type C à l'aide de l'éditeur Nano. Pour cela, nous devons utiliser l'instruction nano dans le shell comme suit :



$nanotest.c



Le code de l'opérateur ET au niveau du bit a été affiché dans l'image ci-dessous. Tout ce que vous avez à faire est d'écrire ce code dans le fichier test.c de votre éditeur nano GNU tel quel. Ce code a la bibliothèque d'en-tête stdio.h sans laquelle nous ne pouvons pas effectuer le codage en programmation C. Ensuite, nous avons créé une méthode principale avec son type de retour en tant qu'entier. En langage C, l'exécution du code se fait via la méthode main. Nous avons donc déclaré deux variables de type entier, x et y, avec les valeurs 35 et 13 en conséquence. Après cela, une autre variable entière a été spécifiée avec zéro comme valeur. Nous utiliserons les deux premières variables entières et appliquerons l'opérateur ET au niveau du bit entre elles. Ce travail a été fait sur la ligne suivante où l'opérateur AND a été utilisé comme &, et la valeur résultante sera stockée dans la variable nulle z. Ensuite, nous avons utilisé l'instruction print pour afficher la valeur résultante dans l'écran du terminal, et la méthode principale se ferme. Enregistrez votre fichier en utilisant le raccourci GNU Ctrl+S puis quittez l'éditeur nano via Ctrl+X depuis la machine à écrire du clavier.





C'est donc le moment de compiler le code ci-dessus après avoir enregistré le fichier. Utilisez l'instruction gcc dans votre shell de console tout en utilisant le nom d'un fichier comme test.c ou quel que soit le nom que vous avez donné au fichier et appuyez sur la touche Entrée. Vous pouvez voir qu'il n'affiche aucune erreur ; cela signifie que le code est manuellement correct.



$gcctest.c

Après avoir compilé le code, il est temps d'exécuter le code maintenant. À cette fin, exécutez la requête indiquée ci-dessous dans le shell. La sortie affiche 1 comme résultat. Cela signifie que nos deux variables entières ont 1 dans l'un de leurs bits. C'est pourquoi il renvoie 1.

$./a.out

OU au niveau du bit :

Maintenant, c'est au tour de l'opérateur OR au niveau du bit d'être élaboré. L'opérateur au niveau du bit renvoie 1 comme résultat lorsque l'un de ses bits est 1. Si les deux bits de deux entiers sont 0, alors il renvoie 0. Après avoir obtenu tous les bits, un ensemble de bits sera généré. Nous devons voir quel nombre ces bits ont formé. Alors, ouvrez d'abord le même document test.c. Tapez puis enregistrez le code ci-dessous dans le fichier GNU à l'aide de la touche Ctrl+S. Le code est presque le même que celui de l'exemple d'opérateur AND au niveau du bit ci-dessus. Cette fois, nous venons de changer la valeur de l'entier x en 47, et nous avons utilisé l'opérateur OU, par ex. | entre les deux variables. Quittez le fichier pour compiler le code.

Après avoir exécuté avec succès le document test.c, il affiche le 47 bit de sortie.

$./a.out

XOR au niveau du bit :

L'opérateur au niveau du bit renvoie 1 lorsque les deux bits numériques sont différents. Ainsi, lorsque les bits sont les mêmes, cela donnera 0. Le signe de l'opérateur ^ représentera l'opérateur au niveau du bit. Encore une fois, ouvrez le document et écrivez le même ancien code dans l'éditeur de fichiers GNU. Cette fois, nous avons utilisé les opérateurs ^ dans deux variables entières, et le résultat sera stocké dans la variable z lors de l'impression dans le terminal.

Compiler et exécuter le fichier test.c renvoie 34 comme résultat. Cela signifie que le nouvel entier 34 est généré après que l'opérateur XOR a été appliqué à deux variables entières.

$./a.out

Complément au niveau du bit :

Cet opérateur ne sera appliqué qu'à une seule variable, et il renverra la valeur du numéro de bit. Par exemple, cela changera le bit 0 à 1 et 1 à 0 bit. Écrivez le même code dans le même fichier mais avec un petit changement à la ligne 6. Nous avons assigné l'inverse de x à z.

Compilez le fichier et exécutez-le. En C, le résultat du complément au niveau du bit a été incrémenté de 1 avec un signe négatif.

Opérateur de décalage à gauche :

Cela déplacera dans une certaine mesure la place des bits. Le même code peut être affiché dans l'image jointe ci-dessous. Dans cet exemple, nous allons décaler 2 bits vers la gauche.

La sortie affiche le 188 en tant que valeur nouvellement générée.

$./a.out

Opérateur de décalage à droite :

Cela fonctionne de la même manière que le décalage gauche mais dans le sens opposé, comme indiqué dans le code ci-dessous.

Cette fois, nous avons 11 en sortie lors du décalage de 2 bits vers la droite.

$./a.out

Conclusion:

Nous avons couvert tous les 6 opérateurs de base au niveau du bit dans notre code de langage C dans cet article. J'espère que vous obtiendrez ce que vous vouliez de notre guide.