Maison  >  Article  >  développement back-end  >  Explication détaillée des opérateurs de bits PHP

Explication détaillée des opérateurs de bits PHP

藏色散人
藏色散人avant
2021-01-05 16:12:415021parcourir

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
符号 作用 举例 个人理解
& 按位与 $m & $n 全1为1,否则为0
| 按位或 $m | $n 全0为0,有1为1
^ 按位异或 $m | $n 不同为1,相同为0
~ 按位取反 ~$m
c369a2326d2e2ea965e51999435122a6> 向右移位 $m >> $n
d4d8f3fbb337c92e689a87a7d305233c> Décalage vers la droite $m >> $n
&operator

<?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érateur

Dé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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer