bcpowmod
(PHP 5, PHP 7, PHP 8)
bcpowmod — Eleva um número de precisão arbitrária para outro, reduzido por um módulo especificado
Descrição
Utiliza o método de exponenciação rápida para elevar
num
para a potência
exponent
levando em conta o módulo
modulus
.
Parâmetros
num
-
O número base, na forma de inteiro em string (a escala tem de ser zero).
exponent
-
O número expoente, na forma de um inteiro não negativo, em string (a escala tem de ser zero).
modulus
-
O número módulo, na forma de um inteiro em string (a escala tem de ser zero).
-
scale
Este parâmetro opcional é usado para definir o número de dígitos após a casa decimal do resultado. Se omitido, o padrão será a escala definida globalmente com a função bcscale() ou, em último caso,
0
se a escala não tiver sido definida.
Valor Retornado
Retorna o resultado como uma string, ou false
se modulus
for 0
ou o exponent
for negativo.
Registro de Alterações
Versão | Descrição |
---|---|
8.0.0 |
scale agora pode ser null.
|
Exemplos
As seguintes instruções têm funcionalidades idênticas. A versão bcpowmod(), no entanto, executa em menos tempo e pode aceitar parâmetros maiores.
<?php
$a = bcpowmod($x, $y, $mod);
$b = bcmod(bcpow($x, $y), $mod);
// $a e $b são iguais.
?>
Notas
Note:
Por esse método realizar operações em módulo, números que não sejam inteiros positivos podem gerar resultados inesperados.