C++ div() 함수란?
C/C++ 표준 라이브러리 함수인 div_t div(int numer, int denom)는 분자(numer)를 분모(denom)로 나누는 함수입니다. 이 함수의 가장 큰 장점은 몫(quotient)과 나머지(remainder)를 단 한 번의 연산으로 동시에 얻을 수 있다는 점입니다.
함수 선언
div_t div(int numer, int denom)
매개변수 및 반환값
매개변수:
- numer: 나누어질 수(분자)
- denom: 나누는 수(분모)
반환값: 이 함수는 <cstdlib> 헤더 파일에 정의된 구조체 형태로 결과를 반환하며, 해당 구조체는 두 개의 멤버 변수를 포함합니다.
div_t {
int quot; // 몫
int rem; // 나머지
}사용 예제
다음 예제는 div() 함수를 활용해 두 숫자의 나눗셈 결과에서 몫과 나머지를 각각 출력하는 방법을 보여줍니다.
#include <iostream>
#include <cstdlib>
using namespace std;
int main () {
div_t output;
output = div(27, 4);
cout << "(27 / 4)의 몫 = " << output.quot << endl;
cout << "(27 / 4)의 나머지 = " << output.rem << endl;
output = div(27, 3);
cout << "(27 / 3)의 몫 = " << output.quot << endl;
cout << "(27 / 3)의 나머지 = " << output.rem << endl;
return(0);
}실행 결과
(27 / 4)의 몫 = 6 (27 / 4)의 나머지 = 3 (27 / 3)의 몫 = 9 (27 / 3)의 나머지 = 0
정리
위 예제에서 확인할 수 있듯이, div() 함수는 한 번의 호출만으로 몫과 나머지를 모두 구할 수 있습니다. 일반적으로 나눗셈 연산자(/)와 나머지 연산자(%)를 따로 사용하는 것보다 효율적이며, 코드의 가독성도 높여주기 때문에 나눗셈 결과를 함께 다뤄야 하는 상황에서 유용하게 활용할 수 있습니다.