Maison  >  Article  >  développement back-end  >  Qu'est-ce que le décalage à droite en php ? Comment utiliser ?

Qu'est-ce que le décalage à droite en php ? Comment utiliser ?

PHPz
PHPzoriginal
2023-03-21 16:32:241579parcourir

PHP est un langage de script côté serveur populaire qui peut être utilisé pour créer des applications Web et des sites Web dynamiques. En PHP, le décalage à droite est une opération binaire de base qui vous permet de décaler un nombre vers la droite d'un nombre spécifié de bits, ce qui donne un nouveau nombre. Cependant, cette opération a des significations et des utilisations différentes selon les situations. Dans cet article, nous allons approfondir les différentes utilisations du décalage à droite en PHP et comment l'utiliser dans le codage.

1. Qu'est-ce que le décalage à droite ?

En programmation informatique, le décalage vers la droite signifie déplacer un nombre vers la droite d'un nombre spécifié de chiffres et remplir les bits vides à gauche avec des zéros. Par exemple, si vous souhaitez décaler le nombre binaire 1010 vers la droite de 2 bits, le résultat est 0010, les deux premiers bits étant complétés par des zéros. En PHP, l'opération de décalage vers la droite peut être implémentée avec l'opérateur >>, dont la syntaxe est la suivante :

$result = $num >> $shift;

où $num est le nombre à déplacer, $shift est le nombre de chiffres à décaler et $ result est le résultat après décalage. Par exemple, si vous souhaitez décaler le nombre 10 vers la droite de 2 places, vous pouvez utiliser le code suivant :

$num = 10; 
$shift = 2; 
$result = $num >> $shift; 
echo $result; // 输出结果为 2

2. Utilisez 1 : Diviser par puissances de 2

Une utilisation courante du décalage à droite en programmation consiste à décaler les nombres Diviser par une puissance de 2. Par exemple, si vous souhaitez diviser un nombre par 4, vous pouvez le décaler de deux places vers la droite car 4 est égal à la puissance 2. De plus, le décalage vers la droite peut être utilisé pour optimiser les opérations de division dans les programmes informatiques, car sur la plupart des ordinateurs, le décalage vers la droite est beaucoup plus rapide que les opérations de division.

Par exemple, disons que vous souhaitez calculer la racine carrée d'un nombre. Vous pouvez utiliser le code suivant :

$num = 16; 
$sqrt = sqrt($num); // 计算平方根 
echo $sqrt; // 输出结果为 4

Cependant, cette méthode nécessite de calculer la racine carrée d'un nombre, ce qui peut être très gourmand en calcul. Au lieu de cela, vous pouvez utiliser le code suivant :

$num = 16; 
$result = $num >> 1; // 将数字除以 2,等价于 $num / 2 
$result = $result >> 1; // 将数字除以 4,等价于 $num / 4 
echo $result; // 输出结果为 4

Le code ci-dessus déplace d'abord $num vers la droite d'une position, ce qui équivaut à le diviser par 2, puis le déplace vers la droite d'une position, ce qui équivaut à en le divisant par 4. Cette méthode est beaucoup plus rapide que l’utilisation de la fonction sqrt() et est généralement plus rapide que l’utilisation des opérateurs de multiplication et de division.

3. Utilisation 2 : Calculer rapidement des carrés et des cubes

Le déplacement vers la droite peut également être utilisé pour calculer rapidement des carrés et des cubes. Si vous souhaitez mettre un nombre au carré, vous le décalez d’une place vers la gauche, ce qui équivaut à le multiplier par 2 puis à ajouter le résultat à lui-même. De même, si vous souhaitez découper un nombre au cube, vous le décalez de deux places vers la gauche, ce qui équivaut à le multiplier par 4 et à ajouter le carré du nombre d'origine au résultat. Voici un exemple de code :

$num = 5; 
$square = ($num << 1) + $num; // 平方,等价于 $num * $num 
$cube = ($num << 2) + ($num << 1) + $num; // 立方,等价于 $num * $num * $num 
echo $square; // 输出结果为 25 
echo $cube; // 输出结果为 125

L'utilisation d'un décalage à droite peut grandement simplifier ces calculs, car l'opération de décalage à droite est l'inverse de l'opération de décalage à gauche. Par exemple, si vous souhaitez calculer le carré d'un nombre, vous pouvez utiliser le code suivant :

$num = 5; 
$square = ($num >> 1) 
 $num * 4 - ($num >> 1) 
 ($num >> 1); 
echo $square; // 输出结果为 25

où $num >> 1 équivaut à diviser $num par 2, et $num * 4 équivaut à diviser $ Déplacez num de deux places vers la gauche, ($num >> 1) * ($num >> 1), c'est-à-dire trouvez le carré de $num.

IV. Résumé

En PHP, le décalage à droite est une opération binaire de base qui peut être utilisée dans de nombreux scénarios différents, tels que la division par puissances de 2, le calcul rapide de carrés et de cubes, etc. En utilisant la bonne opération de changement de vitesse de manière appropriée, vous pouvez optimiser votre programme informatique et le rendre plus rapide et plus efficace. J'espère que cet article vous a aidé à mieux comprendre les opérations de décalage de bits en PHP et à les appliquer dans votre codage.

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:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn