(PHP 5, PHP 7, PHP 8)
bcpowmod — Raise an arbitrary precision number to another, reduced by a specified modulus
$num
,$exponent
,$modulus
,$scale
= null
Use the fast-exponentiation method to raise
num
to the power
exponent
with respect to the modulus
modulus
.
num
The base, as an integral string (i.e. the scale has to be zero).
exponent
The exponent, as an non-negative, integral string (i.e. the scale has to be zero).
modulus
The modulus, as an integral string (i.e. the scale has to be zero).
scale
此可选参数用于设置结果中小数点后的小数位数。也可通过使用
bcscale() 来设置全局默认的小数位数,用于所有函数。如果未设置,则默认为 0
。
Returns the result as a string, or false
if modulus
is 0
or exponent
is negative.
版本 | 说明 |
---|---|
8.0.0 |
scale is now nullable.
|
The following two statements are functionally identical. The bcpowmod() version however, executes in less time and can accept larger parameters.
<?php
$a = bcpowmod($x, $y, $mod);
$b = bcmod(bcpow($x, $y), $mod);
// $a and $b are equal to each other.
?>
注意:
Because this method uses the modulus operation, numbers which are not positive integers may give unexpected results.