4.6 Les opérateurs
4 Référence du langage
Manuel PHP
. La précédence des opérateurs . Les opérateurs arithmétiques . Les opérateurs d'assignation ->Opérateurs sur les bits . Opérateurs de comparaison . Opérateur de contrôle d'erreur . Opérateur d'exécution . Opérateurs d'incrémentation et décrémentation . Les opérateurs logiques . Opérateurs de chaînes . Opérateurs de tableaux . Opérateur de type
|
4.6.4 Opérateurs sur les bits
Les opérateurs sur les bits vous permettent de
manipuler les bits dans un entier. Si les paramètres de gauche et de droite
sont des chaînes de caractères, l'opérateur de bits agira sur les valeurs ASCII
de ces caractères.
Exemples avec les opérateurs sur les bits |
<?php echo 12 ^ 9; // Affiche '5'
echo "12" ^ "9"; // Affiche le caractère d'effacement (ascii 8) // ('1' (ascii 49)) ^ ('9' (ascii 57)) = #8
echo "hallo" ^ "hello"; // Affiche la valeur asciie : s #0 #4 #0 #0 #0 // 'a' ^ 'e' = #4 ?>
|
Exemple |
Nom |
Résultat |
$a & $b
|
ET (
And
) |
Les bits positionnés à 1 dans
$a
ET dans
$b
sont positionnés à 1.
|
$a | $b
|
OU (
Or
) |
Les bits positionnés à 1 dans
$a
OU
$b
sont sont positionnés à 1.
|
$a ^ $b
|
Xor
|
Les bits positionnés à 1 dans
$a
OU dans
$b
mais pas dans les deux sont positionnés à 1.
|
~ $a
|
NON (
Not
) |
Les bits qui sont positionnés à 1 dans
$a
sont positionnés à 0, et vice versa.
|
$a << $b
|
Décalage à gauche |
Décale les bits de
$a
,
$b
fois sur la
gauche (chaque décalage équivaut à une multiplication par 2).
|
$a >> $b
|
Décalage à droite |
Décalage des bits de
$a
,
$b
fois par la
droite (chaque décalage équivaut à une division par 2).
|
Attention |
N'effectuez pas de décalage à droite de plus de 32 bits sur les systèmes 32 bits.
N'effectuez pas de décalage à droite dans le cas où le résultat est un nombre
plus long que 32 its.
|
|