Parcours
/
x86-64 Assembly
x86-64 Assembly
/
Exercices
/
Nombres complexes
Nombres complexes

Nombres complexes

Moyen

Instructions

Un nombre complexe s'écrit sous la forme z = a + b * i, où :

  • a est la partie réelle (un nombre réel),

  • b est la partie imaginaire (aussi un nombre réel), et

  • i est l'unité imaginaire qui vérifie i^2 = -1.

Opérations sur les nombres complexes

Conjugué

Le conjugué du nombre complexe z = a + b * i est donné par :

zc = a - b * i

Valeur absolue

La valeur absolue (ou module) de z est définie par :

|z| = sqrt(a^2 + b^2)

Le carré de la valeur absolue se calcule comme le produit de z et de son conjugué zc :

|z|^2 = z * zc = a^2 + b^2

Addition

La somme de deux nombres complexes z1 = a + b * i et z2 = c + d * i s'obtient en additionnant séparément leurs parties réelles et imaginaires :

z1 + z2 = (a + b * i) + (c + d * i)
        = (a + c) + (b + d) * i

Soustraction

La différence de deux nombres complexes s'obtient en soustrayant leurs parties respectives :

z1 - z2 = (a + b * i) - (c + d * i)
        = (a - c) + (b - d) * i

Multiplication

Le produit de deux nombres complexes est défini par :

z1 * z2 = (a + b * i) * (c + d * i)
        = (a * c - b * d) + (b * c + a * d) * i

Inverse

L'inverse d'un nombre complexe non nul est donné par :

1 / z = 1 / (a + b * i)
      = a / (a^2 + b^2) - b / (a^2 + b^2) * i

Division

La division d'un nombre complexe par un autre est donnée par :

z1 / z2 = z1 * (1 / z2)
        = (a + b * i) / (c + d * i)
        = (a * c + b * d) / (c^2 + d^2) + (b * c - a * d) / (c^2 + d^2) * i

Exponentiation

Élever e (la base du logarithme népérien) à un exposant complexe peut s'exprimer à l'aide de la formule d'Euler :

e^(a + b * i) = e^a * e^(b * i)
              = e^a * (cos(b) + i * sin(b))

Exigences d'implémentation

Comme tu ne dois pas t'appuyer sur une prise en charge intégrée des nombres complexes, implémente les opérations suivantes :

  • l'addition de deux nombres complexes
  • la soustraction de deux nombres complexes
  • la multiplication de deux nombres complexes
  • la division de deux nombres complexes
  • le conjugué d'un nombre complexe
  • la valeur absolue d'un nombre complexe
  • l'exponentiation de e (la base du logarithme népérien) à un nombre complexe

Source

WikipediaLe lien s'ouvre dans une nouvelle fenêtre ou un nouvel onglet
Modifie via GitHub Le lien s'ouvre dans une nouvelle fenêtre ou un nouvel onglet
x86-64 Assembly Exercism

Prêt à commencer Nombres complexes ?

Inscris-toi sur Exercism pour apprendre et maîtriser x86-64 Assembly avec 22 concepts130 exercices, et un vrai mentorat humain, le tout gratuitement.