Maison > Article > développement back-end > Ce que vous devez savoir sur les opérations sur les nombres complexes en langage C lors de l'apprentissage de la programmation
Ce que vous devez savoir sur les opérations sur les nombres complexes en langage C lors de l'apprentissage de la programmation
Les nombres complexes sont très importants dans opérations mathématiques. Lors de l’écriture d’opérations numériques ou d’algorithmes, nous utiliserons le concept de nombres complexes. Alors, comment les nombres complexes sont-ils représentés dans le langage C/C++ ? Nous les présenterons ensuite un par un.
Nombres complexes en langage C
En mathématiques, un nombre complexe peut être défini comme (z=a + bi). Le langage C a introduit les types pluriels dans l'ISO C99. Il est défini dans complex.h. Nous pouvons utiliser des symboles de type complex , __complex__ ou _ComplexI pour le représenter. Il existe trois types de nombres complexes en langage C, à savoir le complexe flottant, le double complexe et le double complexe long. La différence entre eux est que les types de données représentant la partie réelle et l'étape imaginaire des nombres complexes sont différents. Complex est en fait un tableau. Il y a deux éléments dans le tableau, l'un représentant la partie réelle du nombre complexe et l'autre représentant la partie imaginaire du nombre complexe.
Définir un nombre complexe
Deux macros _Complex_I et I sont définies dans le fichier d'entête complex.h pour créer un nombre complexe.
Macro: const float complex _Complex_I; Macro: const float complex I;
Ces deux macros représentent des nombres complexes (0+1i). Nous pouvons utiliser ce nombre complexe unitaire pour créer n'importe quel nombre complexe.
#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
Fonctions d'opération de base pour les nombres complexes
Définissez certaines fonctions pour les opérations de base sur les nombres complexes dans le fichier d'en-tête complex.h.
Fonction function
creal Récupère la partie réelle du nombre complexe
cimag Récupère la partie imaginaire du nombre complexe
conj Récupère le conjugué du nombre complexe
carg Obtient l'angle entre la droite sur le plan complexe qui passe par l'origine et le point représenté par le nombre complexe sur le plan complexe et l'axe réel
cproj Renvoie le projection du nombre complexe sur la sphère de Riemann
Opérations numériques sur les nombres complexes
Les types de nombres complexes peuvent également être directement utilisés pour effectuer des opérations numériques comme les types numériques ordinaires, ~ int, double, long~, en utilisant des symboles d'opération numériques.
#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
Merci à tous d'avoir lu, j'espère que vous en bénéficierez beaucoup.
Cet article est reproduit à partir de : https://blog.csdn.net/duandianR/article/details/70846638
Tutoriel recommandé : "Langage C"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!