C 언어 Complex Types
C 언어의 Complex Types은 복소수(complex number)를 다루기 위한 데이터 형식입니다. C99부터 지원되며, 복소수는 실수와 허수의 합으로 이루어지는 수입니다.
C 언어의 Complex Types은 _Complex 키워드를 사용하여 선언할 수 있습니다. 예를 들어, 다음과 같이 복소수를 선언할 수 있습니다.
#include <complex.h>
double _Complex z1 = 1.0 + 2.0*I;
float _Complex z2 = 1.0f - 2.0f*I;
long double _Complex z3 = 1.0L + 2.0L*I;
이러한 형식의 변수는 덧셈, 뺄셈, 곱셈, 나눗셈 등의 연산을 수행할 수 있습니다. 예를 들어, 다음과 같이 두 복소수를 더할 수 있습니다.
#include <complex.h>
#include <stdio.h>
int main()
{
double _Complex z1 = 1.0 + 2.0*I;
double _Complex z2 = 3.0 - 1.0*I;
double _Complex result = z1 + z2;
printf("%f + %fi\n", creal(result), cimag(result));
// 출력: 4.000000 + 1.000000i
return 0;
}
또한, 복소수의 크기를 계산하는 함수인 cabs()와 삼각함수(trigonometric function)를 계산하는 함수인 csin(), ccos(), ctan() 등도 제공됩니다.
#include <complex.h>
#include <stdio.h>
int main()
{
double _Complex z = 1.0 + 2.0*I;
printf("|z| = %f\n", cabs(z));
// 출력: |z| = 2.236068
printf("sin(z) = %f + %fi\n", creal(csin(z)), cimag(csin(z)));
// 출력: sin(z) = 3.165778 + 1.959601i
printf("cos(z) = %f + %fi\n", creal(ccos(z)), cimag(ccos(z)));
// 출력: cos(z) = -0.642148 + 1.068607i
printf("tan(z) = %f + %fi\n", creal(ctan(z)), cimag(ctan(z)));
// 출력: tan(z) = 0.033812 + 1.014793i
return 0;
}
C 언어의 Complex Types은 공학, 물리학 등의 분야에서 유용하게 사용됩니다.
Comments
Comments are closed