(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.
numDer Basis als ganzzahlige Zeichenkette (d. h. ohne Nachkommastellen).
exponentDer Exponent als nicht-negative, ganzzahlige Zeichenkette (d. h. ohne Nachkommastellen).
modulusDer Modulus als ganzzahlige Zeichenkette (d. h. ohne Nachkommastellen).
scalenull, 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.