我想在C ++中表示sqrt(-1)
,因为我正在尝试实现FFT算法。有没有一种表达方式的好方法?
答案 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/