std::complex というテンプレート・ライブラリィがある。
#include <complex> using namespace std; // これはお好み |
単精度 | complex<float> |
倍精度 | complex<double> |
?精度 | complex<long double> |
C の a = 1+2i; は、C++ では
a = complex<double>(1,2); |
complex<double> a(1,2); |
test-cpp-complex-1.cpp |
/* * test-cpp-complex-1.cpp * g++ test-cpp-complex-1.cpp */ #include <iostream> #include <iomanip> // setprecision() #include <complex> #include <math.h> using namespace std; int main(void) { complex<double> I(0,1), z; cout << "i=" << I << endl; cout << "i^2=" << I * I << endl; cout << setprecision(16) << "sqrt(I)=" << sqrt(I) << endl; z=1.0+I; cout << "z=" << z << ", z^2=" << z*z << endl; return 0; } |
桂田 祐史