Maison  >  Article  >  développement back-end  >  Tutoriel PHP et GMP : Comment faire des calculs avec de grands entiers

Tutoriel PHP et GMP : Comment faire des calculs avec de grands entiers

PHPz
PHPzoriginal
2023-07-29 14:10:55827parcourir

Tutoriel PHP et GMP : Comment utiliser de grands entiers pour les calculs

Présentation :
Dans la programmation PHP, nous devons souvent effectuer des calculs de grands entiers, tels que le traitement de valeurs au-delà de la plage des types entiers intégrés. Une solution courante consiste à utiliser l’extension GMP (GNU Multiple Precision Arithmetic Library). Ce didacticiel vous montrera comment utiliser les extensions PHP et GMP pour effectuer des calculs avec de grands entiers et fournira des exemples de code pour vous aider à mieux comprendre.

Installer et activer l'extension GMP :
Tout d'abord, nous devons nous assurer que l'extension GMP est installée sur le serveur. Vous pouvez vérifier si l'extension GMP est installée en exécutant la commande suivante dans le terminal :

php -m | grep gmp

Si la sortie contient "gmp", cela signifie que l'extension GMP est installée. S'il n'est pas installé, vous pouvez suivre les étapes ci-dessous pour l'installer :

  1. Tout d'abord, vous devez télécharger la dernière version de la bibliothèque GMP depuis le site officiel de GMP (https://gmplib.org/).
  2. Extrayez la bibliothèque GMP téléchargée sur votre serveur et entrez dans le répertoire décompressé.
  3. Exécutez la commande suivante pour configurer et installer :
./configure
make
make install
  1. Une fois l'installation terminée, ouvrez le fichier php.ini et ajoutez les lignes suivantes :
extension=gmp.so
  1. Enregistrez et fermez le fichier php.ini et redémarrez le serveur Internet.

Calculs de base de grands entiers :
Une fois l'extension GMP activée, nous pouvons commencer à l'utiliser pour les calculs de grands entiers. Tout d’abord, nous devons convertir l’entier en objet GMP. PHP fournit la fonction gmp_init() pour réaliser cette conversion :

$number = gmp_init(1234567890);

Ensuite, nous pouvons effectuer diverses opérations de calcul, telles que l'addition, la soustraction, la multiplication et la division :

$sum = gmp_add($number, '9876543210');
$difference = gmp_sub($number, '500000000');
$product = gmp_mul($number, '987');
$quotient = gmp_div($number, '1234');

Dans l'exemple de code ci-dessus, nous convertissons deux grands entiers Addition, soustraction de deux grands entiers, multiplication d'un grand entier par un entier ordinaire et division d'un grand entier par un entier ordinaire.

Autres opérations courantes :
En plus des opérations de calcul de base, l'extension GMP fournit de nombreuses autres fonctions utiles. Voici quelques exemples :

// 取模运算
$modulus = gmp_mod($number, '567');
// 求幂运算
$result = gmp_pow($number, 5);
// 比较两个大整数的大小
$compare = gmp_cmp($number, '24680');
// 转换为字符串
$string = gmp_strval($number);

Dans les exemples de code ci-dessus, nous montrons comment utiliser la fonction gmp_mod() pour effectuer des opérations modulo, comment utiliser la fonction gmp_pow() pour effectuer des opérations d'exponentiation et comment utiliser gmp_cmp( ) pour comparer deux grands entiers et comment convertir un objet GMP en chaîne à l'aide de la fonction gmp_strval().

Résumé :
Dans ce tutoriel, nous avons appris à utiliser les extensions PHP et GMP pour effectuer des calculs avec de grands entiers. Nous avons d'abord présenté le processus d'installation et d'activation des extensions GMP, puis avons exploré les opérations de base de calcul de grands entiers et quelques autres opérations courantes. J'espère que grâce à ce didacticiel, vous maîtrisez l'art de réaliser des calculs de grands nombres entiers en PHP à l'aide de l'extension GMP. Bon 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