Dans un programme informatique, les opérateurs binaires sont des opérateurs pour manipuler des modèles de bits dans les expressions. Bits A N D , OR, exclusif (X OR) OR, NO T, décalage à droite et décalage à gauche sont des opérations courantes. La plupart des langages de programmation informatique comprennent tous les six de ces opérateurs. Ils sont souvent utilisés pour le réglage, nettoyage ou de retournement bits individuels dans les programmes qui contrôlent le matériel informatique. Opérateurs binaires sont également fréquemment utilisés dans le chiffrement des données et des algorithmes de compression.
Les opérateurs de bits communs sont généralement représentés symboliquement dans les langages de programmation tels que C, C + + et Java. Ils sont utilisés dans des expressions comme les opérateurs arithmétiques comme des signes plus ou moins seraient. L'opérateur ET bit à bit est représentée avec l'esperluette &, ou avec le tuyau | et X OR avec le caret . P A S, également connu comme l'opérateur de complément, est indiqué avec un tilde ~.
L'opérateur de décalage vers la droite utilise un double curseur vers la droite. En revanche, décalage à gauche est indiquée par une pointant vers la gauche à double curseur. Java inclut une autre opération de décalage à droite, montré avec une pointant vers la droite triple-caret
Les opérateurs binaires appliquer une opération logique à chaque paire de bits dans leurs opérandes. PA S, décalage à droite et décalage gauche ont qu'un seul vrai opérande; la seconde valeur dans les opérations de changement de vitesse est le nombre de bits. Pour mieux comprendre comment les opérateurs bit à bit travail, une personne peut visualiser leurs opérandes que les chiffres binaires. Par exemple, l'opérateur de complément retourne chaque bit de son opérande unique à l'état opposé. A un devient un zéro et un zéro devient un un. Le complément de la valeur binaire de 8 bits est 00110101 11001010.
L'opérateur ET a deux opérandes. Peu à peu, une opération ET logique est effectué en utilisant un bit correspondant de chacun des opérandes. Le résultat de chaque opération de bit est placé dans cette position de bit du résultat d'ensemble. Par exemple, l'opérateur A N D traitera bit 7 de un opérande avec le bit 7 de l'autre opérande. Le résultat sera stocké dans le bit 7 du résultat global.
Dans une opération ET, les deux bits opérandes doivent être ceux pour que le résultat soit un, sinon le résultat est zéro. Par exemple, si les valeurs binaires 8 bits des opérandes sont 00110101 et 11110000, le résultat sera 00110000. Une utilisation courante de l'opérateur A N D est à zéro des bits particuliers dans le résultat. Ceci est réalisé en plaçant des zéros dans les positions de bits dans un des opérandes.
Dans une opération OU, les deux bits opérandes doivent être des zéros pour que le résultat soit zéro, sinon, le résultat en est une. Une utilisation courante de l'opérateur OR est de mettre certains bits du résultat de celles. Ceci est fait en plaçant ceux dans les positions de bits dans l'un des opérandes. Pour l'opération X O R, le résultat est zéro si les deux bits opérandes sont nulles ou si les deux bits opérandes sont d'une autre, le résultat est un.
Le décalage vers la gauche et décalage à droite déplacent les bits dans l’opérande de gauche ou de droite par le nombre spécifié de positions de bits. Un décalage logique à droite déplace un zéro dans le bit le plus à gauche dans le cadre du déplacement. Un décalage vers la droite de la copie la plus à gauche arithmétique binaire du bit de signe, avant le passage dans la même position après le changement. Le bit d'origine est également décalé vers la droite avec le reste. Chaque type de décalage vers la gauche déplace un zéro dans le bit le plus à droite.
Quand un opérande est décalé à droite, le bit le plus à droite avant le passage est simplement jeté. De même, le bit le plus à gauche avant un virage à gauche est éliminé. Il n'a pas s'enrouler autour de l'autre extrémité de l'opérande.
Les opérations de décalage au niveau du bit sont la langue et dépendant de l'implémentation. Par exemple, en C et C + +, >> et << effectuer des changements logiques si l'opérande est un entier non signé. Si l'opérande est un entier signé, il est probable qu’un décalage arithmétique sera fait à la place. En Java, tous les opérandes sont considérés signé, et les changements de calcul sont toujours effectuées avec et L'opérateur >>> est utilisée pour un décalage logique à droite, mais il est encore possible de le faire accidentellement une arithmétique droite décaler la place sans typecasting prudent.
Des complications peuvent aussi survenir lorsque opérandes ont différentes longueurs de bits ou lorsque certains sont signés et certains ne sont pas signés. Opérateurs de bits et des constantes numériques dans le milieu d'une expression complexe ne peuvent être évalués comme prévu. Il faut prendre soin de spécifier la taille et la nature signé / non signé de chaque quantité dans l'expression. Cela peut être fait avec soin typecasting ou les affectations intérimaires à des types de variables spécifiques dans le code du programme.