Déplacer les opérateurs en c

Déplacer les opérateurs en c

En général, vous ne devriez pas avoir besoin de vous soucier des opérations quelque part au niveau du bit en tant que développeur. Vous pouvez conceptualiser en termes d'octets, d'int et de doubles, et des données de niveau encore plus élevé. Cependant, il y a des cas où vous souhaitez zoomer sur une seule pièce. Les bits d'une variable entière sont décalés par un nombre défini de positions utilisant deux opérateurs de décalage. L'opérateur «>>» change de bits vers la droite, tandis que l'opérateur change de bits à gauche. En général, l'emploi des opérateurs de décalage gauche et droit au lieu de calculer puis de multiplication par une puissance de deux entraînera un code beaucoup plus rapide.

En conséquence, nous pouvons diviser l'opérateur de changement de bit dans deux grandes catégories:

  • Opérateur de décalage à gauche
  • Opérateur de shift de droite

Exemple de l'opérateur de changement de gauche

En C, c'est un opérateur de quart de travail qui fonctionne avec des bits. C'est un opérateur binaire, ce qui signifie qu'il fonctionne avec deux opérandes. Il est utilisé pour déplacer les bits d'une valeur vers la gauche en ajoutant des zéros aux espaces vides à gauche après le déplacement. Par le nombre d'endroits spécifiés par le deuxième opérande, les premiers bits d'opérande sont déplacés vers la gauche.

Syntaxe

«Nomofvariable»<Il peut y avoir deux valeurs dans la syntaxe ci-dessus; Le premier est une variable entière sur laquelle nous pourrions utiliser l'opérateur de changement de gauche. Le nom de cette variable peut être tout ce que l'utilisateur veut qu'il soit. La deuxième valeur est un entier qui définit le nombre d'endroits où les bits doivent être déplacés vers la gauche.

Le résultat de l'opération de décalage gauche sera inconnu si le premier opérande est négatif. De même, si en quelque sorte la valeur du deuxième opérande est négative ou plus ou égale au nombre de bits pendant le premier opérande, le résultat de l'opération de décalage gauche n'est pas défini. Alors que si la valeur du deuxième opérande est plus grande que la taille de la totalité, le résultat de l'opération de changement de gauche serait également indéfini.

Nous mettons en œuvre tous ces exemples sur Ubuntu 20.04 Système d'exploitation Linux. Ouvrez la fenêtre du terminal de l'Ubuntu 20.04 Système d'exploitation Linux et exécutez les instructions annexées suivantes dans le shell pour créer un fichier intitulé «Lefthift.C ". L'extension de fichier est .C, qui décrit le fichier est pour le langage de programmation C.

$ Nano Lefthift.c

Après la création, le fichier sera ouvert dans l'éditeur GNU. Exécuter le code de programmation ci-dessous répertorié.

Dans ce code, nous avons attribué les valeurs à «a» et «b» comme «2» et «9» et appliqué l'opérateur de changement de gauche sur les deux. Nous avons imprimé le résultat en utilisant la fonction printf (). L'ensemble du code est écrit dans la fonction principale. Après avoir enregistré ce fichier, écrivez les commandes ci-dessous répertoriées pour l'exécution et la compilation du code attaché ci-dessus à l'aide du compilateur GCC.

$ gcc Lefthift.c
$ ./un.dehors

Lors de l'exécution, la sortie est affichée, comme vous pouvez vérifier l'image attachée.

Exemple de l'opérateur de la droite

Deux nombres sont utilisés comme opérandes dans le bon travail (>>). Le deuxième opérande détermine si ou si le premier opérande doit déplacer le droit de déplacer les bits, ainsi que le nombre d'endroits qui devraient être décalés. En d'autres termes, 0 est utilisé à moins que le nombre ne soit positif, et 1 est utilisé lorsque le nombre est négatif.

Syntaxe

«Nameofvariable» >> »TotalPositionnumbers»

Il peut y avoir deux valeurs dans la ligne ci-dessus; Le premier est une variable entière pour utiliser le bon opérateur de décalage. Le nom de cette variable peut être tout ce que l'utilisateur veut qu'il soit. La deuxième valeur est un entier qui définit le nombre d'endroits où les bits doivent être déplacés vers la droite.

Nous mettons en œuvre tous ces exemples sur Ubuntu 20.04 Système d'exploitation Linux. Ouvrez la fenêtre du terminal de l'Ubuntu 20.04 Système d'exploitation Linux et exécutez les instructions annexées suivantes dans le shell pour créer un fichier intitulé «Rshift.C ". L'extension de fichier est .C, qui décrit le fichier est pour le langage de programmation C.

Après la création, le fichier sera ouvert dans l'éditeur GNU. Exécuter le code de programmation ci-dessous répertorié.

Dans ce code, nous avons attribué les valeurs à A et B comme «5» et «9» et appliqué l'opérateur de changement de gauche sur les deux. Nous avons imprimé le résultat en utilisant la fonction printf (). L'ensemble du code est écrit dans la fonction principale. Après avoir enregistré ce fichier, écrivez les commandes ci-dessous répertoriées pour l'exécution et la compilation du code attaché ci-dessus à l'aide du compilateur GCC.

$ gcc rshift.c
$ ./un.dehors

Lors de l'exécution, la sortie est affichée, comme vous pouvez vérifier l'image attachée.

Conclusion

Les opérateurs de bitwise sont un ensemble d'opérateurs spéciaux donnés par le langage de programmation «C». Ils sont employés dans la programmation au niveau du bit. En c /, nous avons appris à utiliser les opérateurs de quart de travail gauche et droit, qui sont importants pour les opérations de changement de bit sur des nombres non signés. Lorsque les opérateurs de décalage sont combinés, les données de l'expression entière peuvent être extraites. Je crois que vous utiliserez facilement les opérateurs de quart de travail avec l'aide de ce guide approfondi.