CMPLXF, CMPLX, CMPLXL
来自cppreference.com
定义于头文件 <complex.h>
|
||
float complex CMPLXF( float real, float imag ); |
(C11 起) | |
double complex CMPLX( double real, double imag ); |
(C11 起) | |
long double complex CMPLXL( long double real, long double imag ); |
(C11 起) | |
每个宏都展开成求值为指定复数类型值的表达式,其实部值为(转换到指定参数类型的) real
,其虚部值为(转换到指定参数类型的) imag
。
该表达式适合用作有静态或线程期间存储的对象的初始化器,只要表达式 real
和 imag
都同样适合。
参数
real | - | 待返回复数的实部 |
imag | - | 待返回复数的虚部 |
返回值
以 real
和 imag
为实部和虚部组合成的复数。
注意
这些宏被定义为如同支持虚数类型(即使实际上不支持,而且不定义 _Imaginary_I ),且如同定义如下:
#define CMPLX(x, y) ((double complex)((double)(x) + _Imaginary_I * (double)(y))) #define CMPLXF(x, y) ((float complex)((float)(x) + _Imaginary_I * (float)(y))) #define CMPLXL(x, y) ((long double complex)((long double)(x) + \ _Imaginary_I * (long double)(y)))
示例
运行此代码
输出:
z = 0.0-0.0i
引用
- C11 standard (ISO/IEC 9899:2011):
- 7.3.9.3 The CMPLX macros (p: 197)
参阅
(C99) |
虚数单位常量 i (宏常量) |