(PHP 5)
bcpowmod — 任意精度数値のべき乗の、指定した数値による剰余
modulus で割った余りを求めることを考慮して、 left_operand の right_operand 乗を高速に計算します。
左オペランドを表す文字列。
右オペランドを表す文字列。
法を表す文字列。
このオプションパラメータを使用して、 結果の小数点以下の桁数を指定します。すべての関数で使用するデフォルトのスケールを定義するには bcscale() を使用します。
結果を文字列で返します。modulus が 0 の場合は NULL を返します。
注意:
このメソッドでは剰余計算を行っているので、 正の整数以外を指定すると予期せぬ結果となります。
以下の 2 つの文は機能的に同じです。しかし bcpowmod() バージョンのほうが実行時間が早いうえ、 より大きな値の計算が可能です。
<?php
$a = bcpowmod($x, $y, $mod);
$b = bcmod(bcpow($x, $y), $mod);
// $a と $b は同じ値になります
?>