如何在编程中表示sqrt(-1)?

时间:2011-10-19 09:47:44

标签: c++ math

我想在C ++中表示sqrt(-1),因为我正在尝试实现FFT算法。有没有一种表达方式的好方法?

2 个答案:

答案 0 :(得分:17)

我猜你正在寻找#include <complex>例如:

std::complex<double> num(0,1);

您实际上可以使用此std::sqrt类型complex来计算sqrt(-1)

#include <complex>
#include <iostream>

int main() {
  const std::complex<double> result = std::sqrt(std::complex<double>(-1,0));
  std::cout << result << std::endl;
}

对于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));

答案 1 :(得分:1)

我相信您应该包含Complex课程:http://www.cplusplus.com/reference/std/complex/