(PHP 5, PHP 7)
bcpowmod — Calcule le reste modulo d'un nombre élevé à une puissance
$base
, string $exponent
, string $modulus
[, int $scale
= 0
] )
Utilise la méthode d'exponentiation rapide pour élever le nombre
base
à la puissance
exponent
, et en calculant le reste modulo
modulus
.
base
La base, sous la forme d'une chaîne de caractères (c'est-à-dire que l'échelle doit être nulle).
exponent
L'exposant, sous la forme d'une chaîne de caractères non négarive (c'est-à-dire que l'échelle doit être nulle).
modulus
Le modulo, sous la forme d'une chaîne de caractères (c'est-à-dire que l'échelle doit être nulle).
scale
Ce paramètre optionnel est utilisé pour définir le nombre de digits après la décimale à placer dans le résultat. Vous pouvez également définir la précision globale par défaut pour toutes les fonctions en utilisant la fonction bcscale().
Retourne le résultat, sous la forme d'une chaîne de caractères, ou NULL
si modulus
vaut 0 ou exponent
est négatif.
Note:
Comme cette méthode utilise les opérations de modulo, les nombres non positifs risquent de donner des résultats inattendus.
Les deux lignes suivantes produisent le même résultat. La version qui utilise bcpowmod() est bien plus rapide, et accepte des paramètres plus grands.
<?php
$a = bcpowmod($x, $y, $mod);
$b = bcmod(bcpow($x, $y), $mod);
// $a et $b sont égaux.
?>