이 글에서는 C++에서 imag() 함수의 동작 원리, 문법, 그리고 실제 사용 예제를 자세히 살펴보겠습니다.
imag() 함수란 무엇인가?
imag() 함수는 C++ STL(표준 템플릿 라이브러리)에 내장된 함수로, <complex> 헤더 파일에 정의되어 있습니다. 이 함수는 복소수(complex number)의 허수 부분을 구하는 데 사용됩니다.
복소수는 실수(real number)와 허수(imaginary number)가 결합하여 만들어진 수를 의미합니다. 여기서 실수는 무한대와 허수를 제외한 모든 숫자를 말합니다.
허수는 제곱했을 때 음수가 되는 수를 뜻합니다. 즉, imag() 함수는 복소수 a + bi 형태에서 허수 단위 i에 곱해지는 계수 b를 반환하는 역할을 합니다.
문법(Syntax)
Template <class T> T imag(const complex<T>& num);
매개변수(Parameters)
이 함수는 다음 매개변수를 받습니다.
num − 허수 부분을 구하고자 하는 대상 복소수입니다.
반환값(Return Value)
함수는 입력받은 복소수 num의 허수 부분을 반환합니다.
입력 예시:
complex<double> img(2.2,3.4); imag(img);
출력 결과:
3.4
예제 1: 소수형 복소수
#include <bits/stdc++.h>
using namespace std;
int main(){
//복소수 = (a + ib)
complex<double> img(2.2,3.4);
cout<<"복소수: "<<img;
cout<<"\n복소수의 허수 부분: "<<imag(img) << endl;
return 0;
}
출력 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
복소수: (2.2,3.4) 복소수의 허수 부분: 3.4
예제 2: 정수형 복소수
#include <bits/stdc++.h>
using namespace std;
int main(){
//복소수 = (a + ib)
complex<double> img(32,12);
cout<<"복소수: "<<img;
cout<<"\n복소수의 허수 부분: "<<imag(img) << endl;
return 0;
}
출력 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
복소수: (32,12) 복소수의 허수 부분: 12
마무리
imag() 함수는 <complex> 헤더에 정의된 간단하지만 유용한 함수로, 복잡한 수학 연산이나 신호 처리, 공학 계산 등에서 복소수를 다룰 때 필수적으로 활용됩니다. 참고로 반대 역할을 하는 real() 함수는 복소수의 실수 부분을 반환하므로, 두 함수를 함께 기억해 두면 좋습니다.