Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP gmp_div_q() 함수 완벽 정리 – GMP 숫자 나눗셈의 몫 구하기

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)으로 동일하게 사용할 수 있습니다.