(PHP 5, PHP 7, PHP 8)
bcpowmod — Potenz einer Zahl beliebiger Genauigkeit, vermindert um ein angegebenen Modulo
Benutzen Sie diese schnelle Exponentialmethode, um
num
mit exponent
unter Berücksichtigung des Modulo modulus
zu
potenzieren.
num
Der Basis als ganzzahlige Zeichenkette (d. h. ohne Nachkommastellen).
exponent
Der Exponent als nicht-negative, ganzzahlige Zeichenkette (d. h. ohne Nachkommastellen).
modulus
Der Modulus als ganzzahlige Zeichenkette (d. h. ohne Nachkommastellen).
scale
null
, wird die mit bcscale() definierte Standard-Genauigkeit verwendet
oder auf den Wert der INI-Direktive
bcmath.scale
zurückgegriffen.
Gibt das Ergebnis als Zeichenkette zurück.
In den folgenden Fällen löst diese Funktion einen ValueError aus:
num
, exponent
oder modulus
ist keine wohlgeformte numerische BCMath-Zeichenkettenum
, exponent
oder modulus
hat eine Nachkommastelleexponent
ist ein negativer Wertscale
liegt außerhalb des gültigen Bereichs
Wenn modulus
0
ist, löst diese
Funktion eine DivisionByZeroError-Exception
aus.
Version | Beschreibung |
---|---|
8.0.0 |
scale ist jetzt nullbar.
|
8.0.0 |
Nun wird ein ValueError ausgelöst,
anstatt false zurückzugeben, wenn exponent ein
negativer Wert ist.
|
8.0.0 |
Dividieren durch 0 löst nun eine
DivisionByZeroError-Exception aus,
anstatt false zurückzugeben.
|
Die folgenden zwei Anweisungen sind funktional identisch. Die bcpowmod()-Version ist allerdings schneller und akzeptiert größere Parameter.
<?php
$a = bcpowmod($x, $y, $mod);
$b = bcmod(bcpow($x, $y), $mod);
// $a und $b entsprechen einander.
?>
Hinweis:
Da diese Methode mit der Modulo-Operation arbeitet, können nicht-positive Ganzzahlen zu unerwarteten Ergebnissen führen.