(PHP 5, PHP 7)
bcpowmod — Calcule le reste modulo d'un nombre élevé à une puissance
$left_operand
, string $right_operand
, string $modulus
[, int $scale
= int
] )
Utilise la méthode d'exponentiation rapide pour élever le nombre
left_operand
à la puissance
right_operand
, et en calculant le reste modulo
modulus
.
left_operand
L'opérande de gauche, sous la forme d'une chaîne de caractères.
right_operand
L'opérande de droite, sous la forme d'une chaîne de caractères.
modulus
Le modulo, sous la forme d'une chaîne de caractères.
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.
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.
?>