BC Math bcpowmod

(PHP 5, PHP 7, PHP 8)

bcpowmod — 지정된 계수만큼 감소된 임의의 정밀도 숫자를 다른 정밀도로 올립니다.


설명

bcpowmod(
    string $num,
    string $exponent,
    string $modulus,
    ?int $scale = null
): string
                

모듈러스 modulus에 대한 거듭제곱 exponentnum을 올리기 위해 빠른 지수법을 사용합니다.


매개변수

num
정수 문자열로서의 기본(즉, 스케일은 0이어야 함).
exponent
음이 아닌 정수 문자열인 지수(즉, 스케일은 0이어야 함).
modulus
정수 문자열로서의 모듈러스(즉, 스케일은 0이어야 함).
scale
이 선택적 매개변수는 결과에서 소수점 이하 자릿수를 설정하는 데 사용됩니다. 생략하면 기본적으로 bcscale() 함수를 사용하여 전역적으로 설정된 규모로 설정되거나 설정되지 않은 경우 0으로 대체됩니다.

반환 값

결과를 문자열로 반환하거나 modulus0이거나 exponent가 음수이면 false를 반환합니다.


변경 로그

버전 설명
8.0.0 scale은 이제 nullable입니다.

Examples

다음 두 문은 기능적으로 동일합니다. 그러나 bcpowmod() 버전은 더 짧은 시간에 실행되고 더 큰 매개변수를 허용할 수 있습니다.

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

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

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

?>
                  
                

메모

메모: 이 메서드는 모듈러스 연산을 사용하기 때문에 양의 정수가 아닌 숫자는 예기치 않은 결과를 줄 수 있습니다.


기타

  • bcpow() - 임의의 정밀도 숫자를 다른 숫자로 올립니다.
  • bcmod() - 임의의 정밀도 숫자의 계수 가져오기