Rumah pembangunan bahagian belakang Tutorial C#.Net 学编程应该知道的c语言中的复数操作

学编程应该知道的c语言中的复数操作

Jun 17, 2020 pm 12:01 PM
c bahasa jamak

学编程应该知道的c语言中的复数操作

学编程应该知道的c语言中的复数操作

复数在数学运算中十分重要,在编写数值运算或者算法的时候,我们会用到复数这种概念。 那么,复数在C/C++语言中是如何表示的呢?我们接下来一一介绍。

C语言中复数

在数学中一个复数可以定义为 (z=a + bi) 的形式。 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;
Salin selepas log masuk

这两个宏表示复数 (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
Salin selepas log masuk

复数的基本操作函数

在 complex.h 头文件中定义一些对复数的基本操作的函数。

函数功能

creal 获取复数的实部

cimag 获取复数的虚部

conj 获取复数的共轭

carg 获取,复平面上穿过原点和复数在复平面表示的点,的直线和实数轴之间的夹角

cproj 返回复数在黎曼球面上的投影

复数的数值操作

复数类型也可以像普通数值类型,~int, double, long~ 一样进行直接使用数值操作符号,进行数值操作。

#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;
  complex double d =a + b;
  complex double f = a *b ;
  complex double g = a/b;
  printf ("d=a+b=%f+%fi\n",creal(d),cimag(d));
  printf ("f=a*b=%f+%fi\n",creal(f),cimag(f));
  printf("g=a/b=%f+%fi\n",creal(g),cimag(g));
  return 0;
}
d=a+b=7.000000+9.000000i
f=a*b=-8.000000+31.000000i
g=a/b=0.780488+0.024390i
Salin selepas log masuk

感谢大家的阅读,希望大家收益多多。

本文转自:https://blog.csdn.net/duandianR/article/details/70846638

推荐教程:《C语言

Atas ialah kandungan terperinci 学编程应该知道的c语言中的复数操作. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Penggunaan typedef struct dalam bahasa c Penggunaan typedef struct dalam bahasa c May 09, 2024 am 10:15 AM

Penggunaan typedef struct dalam bahasa c

Perbezaan antara strcpy dan strcat dalam bahasa c Perbezaan antara strcpy dan strcat dalam bahasa c May 08, 2024 pm 01:03 PM

Perbezaan antara strcpy dan strcat dalam bahasa c

Apakah maksud sebenar dalam bahasa c Apakah maksud sebenar dalam bahasa c May 09, 2024 pm 12:06 PM

Apakah maksud sebenar dalam bahasa c

Bagaimana untuk melaksanakan fungsi kuasa dalam bahasa C Bagaimana untuk melaksanakan fungsi kuasa dalam bahasa C May 09, 2024 pm 11:33 PM

Bagaimana untuk melaksanakan fungsi kuasa dalam bahasa C

Apa yang perlu dilakukan jika terdapat ralat dalam scanf dalam bahasa C Apa yang perlu dilakukan jika terdapat ralat dalam scanf dalam bahasa C May 09, 2024 am 11:39 AM

Apa yang perlu dilakukan jika terdapat ralat dalam scanf dalam bahasa C

_penggunaan kompleks dalam bahasa c _penggunaan kompleks dalam bahasa c May 08, 2024 pm 01:27 PM

_penggunaan kompleks dalam bahasa c

Cara menggunakan restrict dalam bahasa c Cara menggunakan restrict dalam bahasa c May 08, 2024 pm 01:30 PM

Cara menggunakan restrict dalam bahasa c

_Apakah maksud bool dalam bahasa c? _Apakah maksud bool dalam bahasa c? May 08, 2024 pm 01:33 PM

_Apakah maksud bool dalam bahasa c?

See all articles