首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

CMPLXL

在头文件<math.h>中定义

?

?

float complex CMPLXF( float real, float imag );

?

(since C11)

double complex CMPLX( double real, double imag );

?

(since C11)

long double complex CMPLXL( long double real, long double imag );

?

(since C11)

这些宏中的每一个都扩展为一个表达式,该表达式的值为指定的复合类型的值,实部的值为real(转换为指定的参数类型),虚部的值为imag(转换为指定的参数类型)。

该表达式是适合用作初始化用于与静态或线程存储时限的物体,只要表达式realimag也是合适的。

参数

真实

-

复数的实际部分返回

图片

-

复数的虚数部分返回

返回值

复数组成realimag作为实部和虚部。

笔记

这些宏被实现,就好像虚构类型被支持(即使它们否则不被支持并且_Imaginary_I实际上是未定义的)并且如同如下定义:

代码语言:javascript
复制
#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)))

代码语言:javascript
复制
#include <stdio.h>
#include <complex.h>
 
int main(void)
{
    double complex z = CMPLX(0.0, -0.0);
    printf("z = %.1f%+.1fi\n", creal(z), cimag(z));
}

输出:

代码语言:javascript
复制
z = 0.0-0.0i

参考

  • C11标准(ISO / IEC 9899:2011):
    • 7.3.9.3 CMPLX宏(p:197)

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com