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

烟雨青岚
烟雨青岚avant
2020-06-17 12:01:214144parcourir

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer