PHP gmp_div_q() 함수란?
gmp_div_q() 함수는 GMP(GNU Multiple Precision) 숫자의 나눗셈을 수행하고 그 몫(quotient)을 반환하는 함수입니다. GMP 확장 모듈은 일반 정수형으로 표현하기 어려운 매우 큰 숫자를 다룰 때 사용되며, gmp_div_q()는 이러한 임의 정밀도 숫자 간의 나눗셈 연산을 안전하게 처리해 줍니다.
문법(Syntax)
gmp_div_q(n1, n2)
매개변수(Parameters)
n1 − 첫 번째 GMP 숫자입니다. PHP 5.6 이상 버전에서는 GMP 객체를 사용할 수 있으며, 숫자 형태의 문자열도 허용됩니다.
n2 − 두 번째 GMP 숫자입니다. PHP 5.6 이상 버전에서는 GMP 객체를 사용할 수 있으며, 숫자 형태의 문자열도 허용됩니다.
반환값(Return)
gmp_div_q() 함수는 n1을 n2로 나눈 몫을 반환합니다. 반환값 자체도 GMP 숫자이기 때문에, 이후 다른 GMP 함수에 바로 전달하여 연속적인 연산을 수행할 수 있습니다.
사용 예제
다음은 gmp_div_q() 함수의 기본적인 사용 예시입니다.
<?php
$n1 = "14";
$n2 = "2";
$res = gmp_div_q($n1, $n2);
echo $res;
?>
실행 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
7
활용 팁
gmp_div_q()는 세 번째 인자로 반올림 모드(round mode)를 선택적으로 지정할 수 있습니다. GMP_ROUND_ZERO(0 쪽으로 반올림), GMP_ROUND_PLUSINF(+∞ 방향으로 반올림), GMP_ROUND_MINUSINF(−∞ 방향으로 반올림) 옵션을 통해 나눗셈 결과의 처리 방식을 조절할 수 있습니다.
또한, 나머지만 필요하다면 gmp_mod() 함수를, 몫과 나머지를 동시에 구하고 싶다면 gmp_div_qr() 함수를 활용하면 됩니다. 참고로 gmp_div()는 gmp_div_q()의 별칭(alias)으로 동일하게 사용할 수 있습니다.