(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
此可選參數(shù)用于設(shè)置結(jié)果中小數(shù)點后的小數(shù)位數(shù)。也可通過使用
bcscale() 來設(shè)置全局默認的小數(shù)位數(shù),用于所有函數(shù)。如果未設(shè)置,則默認為 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.