如何在编程中表示sqrt(-1)? 在C++中,我想代表代码> >RST(-1),因为我正在尝试实现FFT算法。有没有一种很好的表达方式?

如何在编程中表示sqrt(-1)? 在C++中,我想代表代码> >RST(-1),因为我正在尝试实现FFT算法。有没有一种很好的表达方式?,c++,math,C++,Math,我想你在寻找#包括,例如: std::complex<double> num(0,1); 对于wn=exp((2*pi*i)/n)您可以执行以下操作: const double pi = std::acos(-1.0); const std::complex<double> i(0,1); std::complex<double> wn = std::exp((2*pi*i)/double(n)); const double pi=std::acos(-

我想你在寻找
#包括
,例如:

std::complex<double> num(0,1);
对于
wn=exp((2*pi*i)/n)
您可以执行以下操作:

const double pi = std::acos(-1.0);
const std::complex<double> i(0,1);

std::complex<double> wn = std::exp((2*pi*i)/double(n));
const double pi=std::acos(-1.0);
常数std::复合物i(0,1);
std::complex wn=std::exp((2*pi*i)/double(n));

我相信有一个
复杂的类你应该包括:

复杂的I(0,1)
是所需的值。我们知道的一个问题是,在FFT方法wn=exp((2*pi*i)/n)中,它会是怎样的?@user466534-添加了一个例子说明@awoodland/不能是复数,为什么?@user466534:
wn
应该是
std::complex
,不
double
。出于兴趣,您想自己编写FFT例程而不是使用类似的东西有什么好的理由吗?我正在阅读算法书籍《算法简介》(麻省理工学院出版社),所以只需再培训,您可以随时问(请参阅页面底部最后一个黄色大方框文本)
const double pi = std::acos(-1.0);
const std::complex<double> i(0,1);

std::complex<double> wn = std::exp((2*pi*i)/double(n));