참고: 복합 유형은 c99 표준에서 도입되었지만 구체적인 구현은 표준의 일부가 아닙니다. 표준은 각 컴파일러의 구현 표준이 다를 수 있습니다. 자세한 내용은 해당 컴파일러의 구현 표준을 확인하세요. 이 글은 gcc 컴파일러에 관한 글입니다.
복소수는 수학 연산에서 매우 중요합니다. 수치 연산이나 알고리즘을 작성할 때 복소수의 개념을 사용합니다. 그렇다면 C/C++ 언어에서는 복소수를 어떻게 표현할까요? 다음에 하나씩 소개하겠습니다.
C 언어의 복소수
수학에서 복소수는 (z=a + bi) 형식으로 정의할 수 있습니다. C
언어는 ISO C99
에서 복수 유형을 도입했습니다. complex.h
에 정의되어 있습니다. complex
, __complex__
또는 _ComplexI
유형 기호를 사용하여 나타낼 수 있습니다. C 언어에는 float complex
, double complex
, long double complex
라는 세 가지 복소수 유형이 있습니다. 차이점은 복소수의 실수부와 허수부를 나타내는 데이터 유형이 다르다는 것입니다. 복소수
는 실제로 배열에 두 개의 요소가 있습니다. 하나는 복소수의 실수 부분을 나타내고 다른 하나는 복소수의 허수 부분을 나타냅니다. C
语言在 ISO C99
时就引入了复数类型。它是通过 complex.h
中定义的。 我们可以使用 complex
, __complex__
, 或 _ComplexI
类型符号来表示。在C语言中有三种复数类型,分别为 float complex
, double complex
, long double complex
。他们之间 的区别就是表示复数中实部和虚步的数的数据类型不同。 complex
其实就是一个数组,数组中有两个元素,一个表示复数的实部,一个表示复数的虚部。
定义一个复数
在 complex.h
头文件中定义了两个宏 _Complex_I
和 I
来创建一个复数。
Macro: const float complex _Complex_I; Macro: const float complex I;
这两个宏表示复数 (0+1i) , 我们可是使用这个单位复数来创建任何复数。
#include <stdio.h> #include <complex.h> int main(int argc, char *argv[]) { complex double a = 3.0 + 4.0 * _Complex_I; __complex__ double b = 4.0 + 5.0 * _Complex_I; _Complex double c = 5.0 + 6.0 * _Complex_I; printf("a=%f+%fi\n", creal(a),cimag(a)); printf("b=%f+%fi\n", creal(b), cimag(b)); printf("c=%f+%fi\n", creal(c), cimag(c)); printf("the arg of a is %d", carg(a)); return 0; }
a=3.000000+4.000000i b=4.000000+5.000000i c=5.000000+6.000000i the arg of a is 176
复数的基本操作函数
在 complex.h
두 개의 매크로가 complex.h 헤더 파일 _Complex_I 및 I 를 사용하여 복소수를 만듭니다. | 이 두 매크로는 복소수(0+1i)를 나타냅니다. 이 단위 복소수를 사용하여 모든 복소수를 만들 수 있습니다. |
---|---|
complex.h 헤더 파일에서 복소수에 대한 기본 연산에 대한 일부 함수를 정의하세요. |
|
function | |
creal | 복소수의 실수부 구하기 |
cimag | 복소수의 허수부 구하기 |
conj | 받기 켤레 복소수 |
carg원점을 통과하는 복소평면 위의 직선과 복소평면 위의 복소수가 나타내는 점과 실수축이 이루는 각도를 구합니다
cproj
리만 구에 복소수의 투영을 반환합니다
🎜 복소수에 대한 수치 연산🎜🎜🎜복소수 유형은 ~int, double, long~과 같은 수치 연산을 수행하는 데 직접 사용될 수도 있습니다. , 숫자 연산 기호를 사용합니다. 🎜rreeerrreee🎜읽어주신 모든 분들께 감사드립니다. 배우셨나요? 🎜🎜이 기사는 https://blog.csdn.net/duandianR/article/details/70846638🎜🎜추천 튜토리얼: "🎜C Language🎜"🎜에서 복제되었습니다.위 내용은 C 언어의 복소수 연산에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!