Maison > Article > développement back-end > Explication détaillée des opérateurs de bits PHP
Recommandé : "Tutoriel vidéo PHP"
Opérateurs au niveau du bit
Les opérateurs au niveau du bit font référence aux bits binaires en commençant par les bits inférieurs Effectuez les opérations après vous être aligné sur le bit haut.
Symbole | Fonction | Exemple | Compréhension personnelle | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
& | ET au niveau du bit | $m & $n | Tous les 1 valent 1, sinon 0 | ||||||||||||||||||||||||
| | OU au niveau du bit | $m $n |
Tous les 0 sont 0 et 1 est 1 | ||||||||||||||||||||||||
^ | OU exclusif au niveau du bit td> | $m | $n |
Différent est 1, pareil est 0 | ||||||||||||||||||||||||
~ | Au niveau du bit négation | ~$m |
|
||||||||||||||||||||||||
d4d8f3fbb337c92e689a87a7d305233c> | Décalage vers la droite | $m >> $n |
<?php $m = 1; $n = 2; $mn = $m & $n; echo $mn;
Le résultat de l'opération est 0
Explication : Convertir respectivement 1 et 2 en binaire comme
00000001
00000010
Dans le processus ET au niveau du bit, comparez au niveau du bit, tout 1 est 1, comparez Le résultat est 00000000, donc la sortie est 0
|Opérateur<?php $m = 1; $n = 2; $mn = $m | $n; echo $mn;
Le résultat est 3. De même, il est converti en système binaire comme ci-dessus
00000001
00000010
Dans le processus OU au niveau du bit, 1 est 1 et tous les 0 sont 0, alors le résultat est 00000011, donc la sortie est 3
^ opérateur<?php $m = 1; $n = 2; $mn = $m ^ $n; echo $mn;
Le résultat en cours d'exécution est 3. De même, il est converti en binaire ci-dessus
00000001
00000010
Dans le processus de OU au niveau du bit, la différence est de 1 et la même chose est 0, donc le résultat est 00000011 et 3 est affiché.
~operator<?php $m = 2; $m1 = ~$m; echo $m1;
donne -3, ce qui donne à réfléchir.
Remarque : Dans les ordinateurs, les nombres négatifs sont exprimés sous forme de complément de leurs valeurs positives.
1 : Le code original de 32 bits de 2 est 0000 0000 0000 0000 0000 0000 0000 0010
2 : L'inversion au niveau du bit est 1111 1111 1111 1111 1111 1111 1111 1
Puisque le premier nombre est 1 et le bit de signe est 1, c'est un nombre négatif. Par conséquent, la forme complémentaire de sa valeur positive est exprimée comme suit : (le bit de signe reste inchangé, inversé au niveau du bit, et 1 est ajouté à la fin. )
1000 0000 0000 0000 0000 0000 0000 0011
Donc la sortie est -3
936ad71a96e647947117ac8a7bd707da> OpérateurDécalage d'une position vers la droite, similaire à l'opérateur << fait ici. Trop d'explications. Pour plus de connaissances liées à la programmation, veuillez visiter :
Enseignement de la programmation ! !Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!