bcpowmod
任意精度数値のべき乗の、指定した数値による剰余
説明
string bcpowmod(
string $num
,
string $exponent
,
string $modulus
,
intnull $scale
= null
)
パラメータ
-
num
-
基数を表す整数の文字列。
(つまり、scale は 0 でなければいけません)
-
exponent
-
指数を表す、負でない、整数の文字列。
(つまり、scale は 0 でなければいけません)
-
modulus
-
法を表す、整数の文字列。
(つまり、scale は 0 でなければいけません)
-
scale
-
結果の小数点以下の桁数を指定します。
null
の場合は、 bcscale 関数でグローバルに
設定した桁数をデフォルトとして使用します。
それも設定されていない場合は bcmath.scale
INI ディレクティブの値を使用します。
エラー / 例外
この関数は、以下の場合に ValueError をスローします:
num
か exponent
か modulus
のいずれかが、BCMath で有効でない数値形式の文字列である場合
num
か exponent
か modulus
のいずれかが整数値でない場合
exponent
が負の値である場合
scale
が範囲外の値である場合
この関数は、modulus
の値が 0
である場合、
DivisionByZeroError 例外をスローします。
例
以下の 2 つの文は機能的に同じです。しかし
bcpowmod バージョンのほうが実行時間が早いうえ、
より大きな値の計算が可能です。
注意
注意:
このメソッドでは剰余計算を行っているので、
正の整数以外を指定すると予期せぬ結果となります。
参考
- bcpow
- bcmod
- BcMath\Number::powmod