PHP의 gmp_powm() 함수는 임의 정밀도 정수(GMP)를 다룰 때 모듈러 거듭제곱(modular exponentiation)을 계산하는 데 사용됩니다. 즉, 밑(base)을 지수(pow)만큼 거듭제곱한 결과를 mod로 나눈 나머지를 효율적으로 구할 수 있습니다.
이 함수는 암호학 알고리즘이나 큰 수 연산이 필요한 경우 특히 유용하며, 일반적인 정수 범위를 초과하는 거듭제곱 연산에서도 정확한 결과를 보장합니다.
구문(Syntax)
gmp_powm($base, $pow, $mod)
매개변수(Parameters)
base: 거듭제곱의 밑이 되는 숫자입니다.
pow: 밑에 적용할 지수(거듭제곱 횟수)입니다.
mod: base를 pow만큼 거듭제곱한 결과를 나눌 값으로, 최종적으로 이 값으로 나눈 나머지가 반환됩니다.
반환값(Return)
gmp_powm() 함수는 basepow mod 연산의 결과와 동일한 GMP 숫자를 반환합니다.
예제(Example)
다음은 gmp_powm() 함수의 사용 예시입니다:
<?php $base = "3"; $pow = "2"; $mod = "5"; $powm = gmp_powm($base, $pow, $mod); ?>
위 예제에서는 3의 2제곱(9)을 5로 나눈 나머지를 계산합니다.
출력(Output)
위 코드 실행 시 출력 결과는 다음과 같습니다:
4
결과적으로 3² = 9이고, 9 ÷ 5의 나머지는 4이므로 함수는 4를 반환합니다.