Documentación offline PHP master

bcpowmod

master Ver versión oficial en línea Licencia CC-BY-3.0Descargado el 2026-08-02

En esta página

bcpowmod

Eleva un número de precisión arbitraria a otro, reducido por un módulo especificado

Descripción#

bcpowmod(string $num, string $exponent, string $modulus, [int $scale]): string
```php

Usa el método de exponenciación rápida para aumentar `num` a la potencia `exponent` con respecto al módulo `modulus`.

## Parámetros

`num`  
La base, como un string integral (es decir, la escala tiene que ser cero).

`exponent`  
El exponente, como un string integral no negativo (es decir, la escala tiene que ser cero).

`modulus`  
El módulo, como un string integral (es decir, la escala tiene que ser cero).

## Valores devueltos

Devuelve el resultado como un string.

## Errores/Excepciones

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 BCMath, `num`, `exponent` o `modulus` tiene una parte fraccionaria, `exponent` es un valor negativo, `scale` está fuera del rango válido

Esta función lanza una excepción DivisionByZeroError si `modulus` es `0`.

## Historial de cambios

| 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`. |

## Ejemplos

Los siguientes dos comandos son funcionalmente idénticos. La version `bcpowmod` sin embargo, se ejecuta en menos tiempo y admite mas parametros.

```php

Notas#

[!NOTE] Debido a que este método utiliza la operación módulo, podrían obtenerse resultados inesperados en números enteros no positivos.

Véase también#

bcpow, bcmod, BcMath\Number::powmod