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