Bonjour,
Je ne comprends pas très bien l'expression
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 $c = 4; $h = 16; $i = $h << $c; echo "$i = $h << $c \n";//=> 256 = 16 << 4
Bonjour,
Je ne comprends pas très bien l'expression
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 $c = 4; $h = 16; $i = $h << $c; echo "$i = $h << $c \n";//=> 256 = 16 << 4








C'est l'opérateur de décalage de bits sur la gauche.
Par exemple la valeur 1 en décimal donne en binaire sur 8 bits donne :
00000001
Si tu décales a gauche d'un bit ca donne:
00000010
soit la valeur 2 en décimal
si tu décales encore ca donne
00000100
soit la valeur 4 en décimal
etc.
http://fr.php.net/manual/fr/language...rs.bitwise.php
vueillez pardonner la stupidité de ma question, mais... ca sert a quoi ?
Aucune question n'est stupide...
Ca peut servir pour contenir des données par exemple... Imagine qu'une table contienne 16 données binaire... plutot que de crée 16 champ tu crée un int. Et tu n'a plus qu'a récupère chaque bit pour savoir si la valeur est 1 (true) ou 0 false en utilisant le décalage de bit.
En tout cas c'est une des utilisation possible dont je me sert personnellement.








Cet opérateur est très utilisé dans les langages proches de la machine car ils permettent de faire des opérations simples (division par 2, multiplication par 2, comparaisons au niveau bit etc) de manière optimisée (beaucoup plus rapide de décaler a gauche d'un bit pour multiplier un nombre par deux, que d'utiliser une vraie multiplication).
Maintenant l'utilité en PHP, je ne sais pas exactement, mais quand tu fais des opérations au niveau binaire, ces deux opérateurs sont vraiment indispensables.
Partager