我如何在 ada 中表示复数?

How do I represent a complex number in ada?

我正在尝试弄清楚如何在 ada 编程语言中表示复数。通过研究,我弄清楚了 with Ada.Numerics.Complex_Types 包并查看了包,我看不到虚数 'i' 是如何表示的。有人可以解释一下吗?

Ada 复杂类型在 Ada 参考手册的附录 G.1.1 中进行了解释。Ada Reference Manual Appendix G.1.1

您可以将 2+6i 表示为 (2.0, 6.0)。

with Ada.Numerics.Generic_Complex_Types;

procedure Cplx is

  type My_Real is digits 15;  --  Double precision

  package RC is new Ada.Numerics.Generic_Complex_Types (My_Real);
  use RC;

  c: Complex;

begin
  c.Re := 2.0;
  c.Im := 6.0;
  --  More compact:
  c := (Re => 2.0, Im => 6.0);
  --  Even more compact:
  c := (2.0, 6.0);
end;