- C 标准库
- C 标准库
- C++ 标准库
- C++ 库 - 首页
- C++ 库 - <fstream>
- C++ 库 - <iomanip>
- C++ 库 - <ios>
- C++ 库 - <iosfwd>
- C++ 库 - <iostream>
- C++ 库 - <istream>
- C++ 库 - <ostream>
- C++ 库 - <sstream>
- C++ 库 - <streambuf>
- C++ 库 - <atomic>
- C++ 库 - <complex>
- C++ 库 - <exception>
- C++ 库 - <functional>
- C++ 库 - <limits>
- C++ 库 - <locale>
- C++ 库 - <memory>
- C++ 库 - <new>
- C++ 库 - <numeric>
- C++ 库 - <regex>
- C++ 库 - <stdexcept>
- C++ 库 - <string>
- C++ 库 - <thread>
- C++ 库 - <tuple>
- C++ 库 - <typeinfo>
- C++ 库 - <utility>
- C++ 库 - <valarray>
- C++ STL 库
- C++ 库 - <array>
- C++ 库 - <bitset>
- C++ 库 - <deque>
- C++ 库 - <forward_list>
- C++ 库 - <list>
- C++ 库 - <map>
- C++ 库 - <multimap>
- C++ 库 - <queue>
- C++ 库 - <priority_queue>
- C++ 库 - <set>
- C++ 库 - <stack>
- C++ 库 - <unordered_map>
- C++ 库 - <unordered_set>
- C++ 库 - <vector>
- C++ 库 - <algorithm>
- C++ 库 - <iterator>
- C++ 高级库
- C++ 库 - <any>
- C++ 库 - <barrier>
- C++ 库 - <bit>
- C++ 库 - <chrono>
- C++ 库 - <cinttypes>
- C++ 库 - <clocale>
- C++ 库 - <condition_variable>
- C++ 库 - <coroutine>
- C++ 库 - <cstdlib>
- C++ 库 - <cstring>
- C++ 库 - <cuchar>
- C++ 库 - <charconv>
- C++ 库 - <cfenv>
- C++ 库 - <cmath>
- C++ 库 - <ccomplex>
- C++ 库 - <expected>
- C++ 库 - <format>
- C++ 库 - <future>
- C++ 库 - <flat_set>
- C++ 库 - <flat_map>
- C++ 库 - <filesystem>
- C++ 库 - <generator>
- C++ 库 - <initializer_list>
- C++ 库 - <latch>
- C++ 库 - <memory_resource>
- C++ 库 - <mutex>
- C++ 库 - <mdspan>
- C++ 库 - <optional>
- C++ 库 - <print>
- C++ 库 - <ratio>
- C++ 库 - <scoped_allocator>
- C++ 库 - <semaphore>
- C++ 库 - <source_location>
- C++ 库 - <span>
- C++ 库 - <spanstream>
- C++ 库 - <stacktrace>
- C++ 库 - <stop_token>
- C++ 库 - <syncstream>
- C++ 库 - <system_error>
- C++ 库 - <string_view>
- C++ 库 - <stdatomic>
- C++ 库 - <variant>
- C++ STL 库速查表
- C++ STL - 速查表
C++ 库 - <ccomplex>
<ccomplex> 头文件(在 C++ 中更常见的是 <complex>)提供了用于处理复数的函数。它实现了复数类,以笛卡尔形式包含复数,以及一些用于操作它们的函数和重载。
此头文件提供了一些用于处理复数的函数和宏,并定义了 float _Complex、double _Complex 和 long double _Complex 类型。
包含 <ccomplex> 头文件
要在 C++ 程序中包含 <ccomplex> 头文件,可以使用以下语法。
#include <ccomplex>
<ccomplex> 头文件的函数
以下是 <ccomplex> 头文件中所有函数的列表。
复数运算
<ccomplex> 头文件中的基本复数运算提供了用于处理复数的函数,并允许我们处理实部和虚部,并根据极坐标创建复数。
序号 | 函数和描述 |
---|---|
1 | real(x)
此函数返回复数 x 的实部。 |
2 | imag(x)
此函数返回复数 x 的虚部。 |
3 | abs(x)
此函数返回复数 x 的绝对值。 |
4 | arg(x)
此函数返回复数 x 的相位角(或角度分量),以弧度表示。 |
5 | norm(x)
此函数返回复数 x 的模值。 |
6 | conj(x)
此函数返回复数 x 的共轭复数。 |
7 | polar(magnitude, angle)
此函数返回一个对应于使用幅度和角度(以弧度表示)的复数的复数对象(笛卡尔格式)。 |
8 | proj(x)
此函数返回复数 x 在黎曼球面上的投影。 |
复数的基本操作
在下面的示例中,我们将使用 real() 和 imag() 来执行复数的基本操作。
#include <iostream> #include <complex> int main() { std::complex<double> z(3.0, 4.0); double real_part = real(z); double imag_part = imag(z); std::cout << "Real part: " << real_part << std::endl; std::cout << "Imaginary part: " << imag_part << std::endl; return 0; }
输出
如果我们运行上面的代码,它将生成以下输出:
Real part: 3 Imaginary part: 4
超越函数重载
<ccomplex> 头文件提供各种超越函数及其重载,这些函数专门用于处理复数。提供与指数、对数、幂和反三角/双曲函数相关的函数。
序号 | 函数和描述 |
---|---|
1 | cos(x)
此函数返回复数 x 的余弦值。 |
2 | cosh(x)
此函数返回复数的双曲余弦值。 |
3 | exp(x)
此函数计算复数 x 的自然对数(以 e 为底)的指数。 |
4 | log10(x)
此函数计算复数的以 10 为底的对数。 |
5 | pow(x,y)
此函数返回底数 x 的 y 次幂的复数值。 |
6 | sin(x)
此函数返回复数 x 的正弦值。 |
7 | sinh(x)
此函数返回复数 x 的双曲正弦值。 |
8 | sqrt(x)
此函数返回复数的平方根。 |
9 | tan(x)
此函数返回复数 x 的正切值。 |
10 | cosh(x)
此函数返回复数的双曲余弦值。 |
11 | tanh(x)
此函数返回复数的双曲正切值。 |
12 | acos(x)
此函数返回复数 x 的反余弦值。 |
13 | acosh(x)
此函数返回复数 x 的反双曲余弦值。 |
14 | asinh(x)
此函数返回复数 x 的反正弦值。 |
15 | atan(x)
此函数返回复数 x 的反正切值。 |
16 | atanh(x)
此函数返回复数 x 的反双曲正切值。 |
使用超越函数
在下面的示例中,我们将对复数使用超越函数 (cos()、exp() 和 sqrt())。
#include <iostream> #include <complex> #include <cmath> int main() { std::complex<double> z(1.0, 2.0); std::complex<double> cos_z = cos(z); std::complex<double> exp_z = exp(z); std::complex<double> sqrt_z = sqrt(z); std::cout << "cos(z) = " << cos_z << std::endl; std::cout << "exp(z) = " << exp_z << std::endl; std::cout << "sqrt(z) = " << sqrt_z << std::endl; return 0; }
输出
如果我们运行上面的代码,它将生成以下输出:
cos(z) = (2.03272,-3.0519) exp(z) = (-1.1312,2.47173) sqrt(z) = (1.27202,0.786151