(PHP 5, PHP 7, PHP 8)
bcpowmod — Eleva un número de precisión arbitraria a otro, reducido por un módulo especificado
Usa el método de exponenciación rápida para aumentar
num a la potencia
exponent con respecto al módulo
modulus.
numLa base, como un string integral (es decir, la escala tiene que ser cero).
exponentEl exponente, como un string integral no negativo (es decir, la escala tiene que ser cero).
modulusEl módulo, como un string integral (es decir, la escala tiene que ser cero).
scalenull, se establecerá por defecto en la escala predeterminada establecida con bcscale(),
o se utilizará el valor de la directiva INI
bcmath.scale.
Devuelve el resultado como un string.
Esta función lanza un ValueError en los siguientes casos:
num, exponent o modulus no es un string numérico con formato válido de BCMathnum, exponent o modulus tiene una parte fraccionariaexponent es un valor negativoscale está fuera del rango válido
Esta función lanza una excepción DivisionByZeroError si modulus
es 0.
| Versión | Descripción |
|---|---|
| 8.0.0 |
scale ahora es nullable.
|
| 8.0.0 |
Ahora lanza un ValueError en vez de devolver false si exponent es un valor negativo.
|
| 8.0.0 |
Dividiendo por 0 ahora lanza una excepción DivisionByZeroError en vez de devolver false.
|
Los siguientes dos comandos son funcionalmente idénticos. La version bcpowmod() sin embargo, se ejecuta en menos tiempo y admite mas parametros.
<?php
$a = bcpowmod($x, $y, $mod);
$b = bcmod(bcpow($x, $y), $mod);
// $a y $b son iguales el uno al otro.
?>Nota:
Debido a que este método utiliza la operación módulo, podrían obtenerse resultados inesperados en números enteros no positivos.