BcMath\Number::powmod
En esta página
BcMath\Number::powmod
Eleva un número de precisión arbitraria, reducido por un módulo especificado
Descripción#
public BcMath\Number::powmod(BcMath\Number $exponent, BcMath\Number $modulus, [int $scale]): BcMath\Number
```php
Utiliza el método rápido de exponentiación para elevar `$this` a la potencia `exponent` en relación con el módulo `modulus`.
## Parámetros
`exponent`
El exponente, como no negativo e integral (es decir, la escala debe ser cero).
`modulus`
El módulo, como integral (es decir, la escala debe ser cero).
## Valores devueltos
Devuelve el resultado en forma de un nuevo objeto `BcMath\Number`.
Cuando la propiedad BcMath\Number::scale del resultado se establece automáticamente, se utiliza la mayor BcMath\Number::scale de los tres números utilizados para la operación de módulo.
## Errores/Excepciones
Este método lanza una ValueError en los siguientes casos: `exponent` o `modulus` es un `string` y no es una cadena numérica BCMath bien formada, `$this`, `exponent` o `modulus` tiene una parte fraccionaria, `exponent` es un valor negativo, `scale` está fuera del rango válido
Este método lanza una excepción DivisionByZeroError si `modulus` es `0`.
## Ejemplos
Ejemplo de BcMath\Number::powmod cuando `scale` no está especificado
El ejemplo anterior mostrará:
object(BcMath\Number)#3 (2) {
["value"]=>
string(1) "2"
["scale"]=>
int(0)
}
object(BcMath\Number)#4 (2) {
["value"]=>
string(2) "-2"
["scale"]=>
int(0)
}
object(BcMath\Number)#2 (2) {
["value"]=>
string(1) "1"
["scale"]=>
int(0)
}
object(BcMath\Number)#5 (2) {
["value"]=>
string(2) "-1"
["scale"]=>
int(0)
}
Ejemplo de BcMath\Number::powmod especificando `scale` explícitamente
```php
El ejemplo anterior mostrará:
object(BcMath\Number)#3 (2) {
["value"]=>
string(3) "2.0"
["scale"]=>
int(1)
}
object(BcMath\Number)#4 (2) {
["value"]=>
string(5) "-2.00"
["scale"]=>
int(2)
}
object(BcMath\Number)#2 (2) {
["value"]=>
string(5) "1.000"
["scale"]=>
int(3)
}
object(BcMath\Number)#5 (2) {
["value"]=>
string(7) "-1.0000"
["scale"]=>
int(4)
}
Véase también#
bcpowmod
BcMath\Number::pow
BcMath\Number::mod