# bcpowmod

(PHP 5, PHP 7)

bcpowmod — Raise an arbitrary precision number to another, reduced by a specified modulus

### 说明

bcpowmod ( string `$base` , string `$exponent` , string `$modulus` [, int `$scale` = 0 ] ) : string

Use the fast-exponentiation method to raise `base` to the power `exponent` with respect to the modulus `modulus`.

### 参数

`base`

  The base, as an integral string (i.e. the scale has to be zero).

`exponent`

  The exponent, as an non-negative, integral string (i.e. the scale has to be zero).

`modulus`

  The modulus, as an integral string (i.e. the scale has to be zero).

`scale`

  此可选参数用于设置结果中小数点后的小数位数。也可通过使用 bcscale() 来设置全局默认的小数位数，用于所有函数。

### 返回值

Returns the result as a string, or `NULL` if `modulus` is 0 or `exponent` is negative.

### 注释

> Note:

> Because this method uses the modulus operation, numbers which are not positive integers may give unexpected results.

### 范例

The following two statements are functionally identical. The bcpowmod() version however, executes in less time and can accept larger parameters.

    <?php
    $a = bcpowmod($x, $y, $mod);

    $b = bcmod(bcpow($x, $y), $mod);

    // $a and $b are equal to each other.

    ?>

### 参见

- bcpow() - 任意精度数字的乘方
- bcmod() - 对一个任意精度数字取模