(PHP 5, PHP 7)
bcpowmod — Возводит одно число в степень другого и возвращает остаток от деления результата на третье число
$left_operand
, string $right_operand
, string $modulus
[, int $scale
= 0
] )
Используйте метод быстрого возведения числа
left_operand
в степень
right_operand
и получения остатка от деления на
modulus
.
left_operand
Левый операнд (основание степени) в виде строки.
right_operand
Правый операнд (показатель степени) в виде строки.
modulus
Модуль (на него делится результат) в виде строки.
scale
Этот необязательный параметр используется для установки количества знаков после десятичного разделителя в результате. Если не задано, то, по умолчанию, будет использовано значение заданное глобально с помощью bcscale(), либо 0.
Возвращает результат в виде строки или NULL
, если
modulus
равен 0.
Замечание:
Так как этот метод использует операцию деления по модулю, отрицательные числа могут давать неожидаемый результат.
Следующие выражения дают одинаковый результат. Однако функция bcpowmod() работает быстрее и может принимать большие значения аргументов.
<?php
$a = bcpowmod($x, $y, $mod);
$b = bcmod(bcpow($x, $y), $mod);
// $a == $b.
?>