C语言中文网php,I - [ C语言中文开发手册 ] - 在线原生手册 - php中文网

在头文件中定义#define I / *未指定* /(自C99以来)

I宏扩展为_Complex_I或_Imaginary_I。 如果实现不支持虚构类型,则宏总是展开为_Complex_I。

一个程序可能未定义,也许然后重新定义宏I。

注意

这个宏不是名字i,它是数学中虚构单元的名称,因为我的名字已经在许多C程序中使用过了,例如, 作为循环计数器变量。

宏 I 经常被用来形成复数,其表达式如x + y * I。 如果将I定义为_Complex_I,那么即使当y为-0.0时,这样的表达式也可以创建一个具有虚构分量+0.0的值,这对于具有分支削减的复数函数很重要。 宏CMPLX提供了精确构建复数的方法。

GCC提供了一个不可移植的扩展,允许用整数文字后缀i指定虚数常量:1.0fi,1.0i和1.0li是GNU C中的虚数单元。类似的方法是标准C ++的一部分,如C + +14(1.0if,1.0i和1.0il是C ++中的虚数单元)。

#include #include 

int main(void){    printf("I = %.1f%+.1fi\n", creal(I), cimag(I));

double complex z1 = I * I;     // imaginary unit squared    printf("I * I = %.1f%+.1fi\n", creal(z1), cimag(z1));

double complex z = 1.0 + 2.0*I; // usual way to form a complex number pre-C11    printf("z = %.1f%+.1fi\n", creal(z), cimag(z));}

输出:

I = 0.0+1.0i

I * I = -1.0+0.0i

z = 1.0+2.0i

参考

C11标准(ISO / IEC 9899:2011):7.3.1 / 6 I(p:188)

G.6 / 1 I(p:537)

C99标准(ISO / IEC 9899:1999):7.3.1 / 4 I(p:170)

G.6 / 1 I(p:472)

扩展内容

_Imaginary_I(C99)虚数单位常数i(宏常数)_Complex_I(C99)复数单位常数i(宏常数)

CMPLXCMPLXFCMPLXL(C11)(C11)(C11)从实部和虚部构建一个复数(函数宏)

| 运算符“”i 的C ++文档 |

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值